Python:如何增加/减少x和y刻度标签的字体大小?

FaC*_*fee 10 python text matplotlib kwargs axis-labels

我似乎在确定如何在使用时增加或减少fontsizex和y刻度标签时遇到问题matplotlib.

我知道有set_xticklabels(labels, fontdict=None, minor=False, **kwargs)功能,但我无法理解如何控制fontsize它.

我期待一些明确的东西,比如

title_string=('My Title')
plt.suptitle(title_string, y=1.0, fontsize=17)
Run Code Online (Sandbox Code Playgroud)

但到目前为止我还没有找到类似的东西.我错过了什么?

Imp*_*est 14

一个人不应该使用set_yticklabels更改字体大小,因为这也会设置标签(即它将用a替换任何自动格式器FixedFormatter),这通常是不希望的。最简单的方法是分别设置tick_params

ax.tick_params(axis="x", labelsize=8)
ax.tick_params(axis="y", labelsize=20)
Run Code Online (Sandbox Code Playgroud)

要么

ax.tick_params(labelsize=8)
Run Code Online (Sandbox Code Playgroud)

如果两个轴的尺寸相同。

当然也可以使用@tmdavison的答案中的rcParams


tmd*_*son 13

您可以在通话直接设置字体大小set_xticklabels,并set_yticklabels(在以前的答案说明).这只会一次影响一个Axes.

ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)
Run Code Online (Sandbox Code Playgroud)

您还可以使用以下方法ticklabel全局设置字体大小(即脚本中的所有数字/子图)rcParams:

import matplotlib.pyplot as plt

plt.rc('xtick',labelsize=8)
plt.rc('ytick',labelsize=8)
Run Code Online (Sandbox Code Playgroud)

或者,等效地:

plt.rcParams['xtick.labelsize']=8
plt.rcParams['ytick.labelsize']=8
Run Code Online (Sandbox Code Playgroud)

最后,如果这是您想要为所有matplotlib图设置的设置,您还可以rcParamsmatplotlibrc文件中设置这两个:

xtick.labelsize      : 8 # fontsize of the x tick labels
ytick.labelsize      : 8 # fontsize of the y tick labels
Run Code Online (Sandbox Code Playgroud)