Как изменить размер шрифта в 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...

Другие вопросы по тегам