如何在scanpy中更改字体大小

How to change font size in scanpy

我正在使用 scanpy 生成点图,但无法更改字体大小。有办法吗?

例如,我将如何编辑这行代码?

sc.pl.dotplot(df, ["gene"], 'CellType', dendrogram=True, save = name)

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 轴...