Как изменить размер шрифта в scanpy
Я создаю точечные диаграммы, используя
scanpy
и невозможно изменить размер шрифта. Как это сделать?
Например, как мне отредактировать эту строку кода?
sc.pl.dotplot(df, ["gene"], 'CellType', dendrogram=True, save = name)
2 ответа
Решение
IIRC, scanpy просто использует matplotlib под капотом, поэтому есть несколько вариантов:
Вы можете установить размер шрифта глобально:
import matplotlib.pyplot as plt
plt.rcParams.update({'font.size': 'large'})
Вы можете обновить только размер шрифта (всех) меток оси:
plt.rcParams.update({'axes.labelsize' : 'large'})
plt.rcParams.update({'axes.xtick.labelsize' : 'large'})
plt.rcParams.update({'axes.ytick.labelsize' : 'large'})
Наконец, если у вас есть ручка оси, вы можете изменить размер шрифта меток, перемещаясь по атрибутам оси:
dp_object = sc.pl.dotplot(df, ["gene"], 'CellType', dendrogram=True, save = name)
axes_dict = dp_object.get_axes()
# figure out which axis you want by printing the axes_dict
# print(axes_dict)
ax = axes_dict[...]
ax.xaxis.label.set_fontsize(22)
for label in ax.get_xticklabels():
label.set_fontsize('large')
Оказывается, вы можете сделать это напрямую, используя scanpy со следующим:
sc.set_figure_params(scanpy=True, fontsize=14)
Однако я все еще не уверен, как конкретно изменить ось y...