在使用fontsize
时,我似乎在确定如何增加或减少x和y刻度标签的matplotlib
时遇到问题。
我知道有set_xticklabels(labels, fontdict=None, minor=False, **kwargs)
功能,但我不明白如何控制其中的fontsize
。
我期待一些明确的东西,比如
title_string=('My Title')
plt.suptitle(title_string, y=1.0, fontsize=17)
但到目前为止我还没有找到类似的东西。我错过了什么?
您可以在调用set_xticklabels
和set_yticklabels
时直接设置fontsize(如前面的答案中所述)。这一次只会影响一个Axes
。
ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)
您还可以使用ticklabel
全局设置rcParams
字体大小(即脚本中的所有数字/子图):
import matplotlib.pyplot as plt
plt.rc('xtick',labelsize=8)
plt.rc('ytick',labelsize=8)
或者,等效地:
plt.rcParams['xtick.labelsize']=8
plt.rcParams['ytick.labelsize']=8
最后,如果这是您想要为所有matplotlib图设置的设置,您还可以在rcParams
文件中设置这两个matplotlibrc
:
xtick.labelsize : 8 # fontsize of the x tick labels
ytick.labelsize : 8 # fontsize of the y tick labels
不应该使用set_yticklabels
来更改fontsize,因为这也将设置标签(即它将用FixedFormatter
替换任何自动格式化程序),这通常是不希望的。最简单的是设置相应的tick_params
:
ax.tick_params(axis="x", labelsize=8)
ax.tick_params(axis="y", labelsize=20)
要么
ax.tick_params(labelsize=8)
如果两个轴的尺寸相同。
当然,使用qcxswpoi中的rcParams也是可能的。
它比我想象的要简单。
要设置x轴刻度的字体大小:
@tmdavison's answer
要为y轴刻度执行此操作:
x_ticks=['x tick 1','x tick 2','x tick 3']
ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
y_ticks=['y tick 1','y tick 2','y tick 3']
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)
和rotation
这些论据很容易控制我的追求。
参考:fontsize
使用关键字http://matplotlib.org/api/axes_api.html而不是size
。