Python:如何增加/减少x和y记号标签的大小?

Python:如何增加/减少x和y记号标签的大小?,python,text,matplotlib,axis-labels,keyword-argument,Python,Text,Matplotlib,Axis Labels,Keyword Argument,在使用matplotlib时,我似乎很难弄清楚如何增加或减少x和y记号标签的fontsize 我知道有setxticklabels(labels,fontdict=None,minor=False,**kwargs)功能,但我不知道如何控制其中的fontsize 我期待着某种明确的东西,比如 title_string=('My Title') plt.suptitle(title_string, y=1.0, fontsize=17) 但到目前为止我还没有找到这样的东西。我缺少什么?使用关键字

在使用
matplotlib
时,我似乎很难弄清楚如何增加或减少x和y记号标签的
fontsize

我知道有
setxticklabels(labels,fontdict=None,minor=False,**kwargs)
功能,但我不知道如何控制其中的
fontsize

我期待着某种明确的东西,比如

title_string=('My Title')
plt.suptitle(title_string, y=1.0, fontsize=17)

但到目前为止我还没有找到这样的东西。我缺少什么?

使用关键字
size
而不是
fontsize

这比我想象的要简单

要设置x轴记号的字体大小,请执行以下操作:

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)
要对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
可以轻松控制我的目标


参考资料:

您可以在与的通话中直接设置fontsize(如前面的回答所述)。这一次只影响一个

ax.set_xticklabels(x_ticks, rotation=0, fontsize=8)
ax.set_yticklabels(y_ticks, rotation=0, fontsize=8)
注:仅当您首先固定刻度的位置时(例如,使用
ax.setxticks
),才应使用此方法。如果不更改默认的勾号位置,只需更改勾号标签的字体大小,而无需使用更改文本

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

或者,相当于:

plt.rcParams['xtick.labelsize']=8
plt.rcParams['ytick.labelsize']=8
最后,如果要为所有matplotlib绘图设置此设置,还可以在
matplotlibrc
文件中设置这两个
rcParams

xtick.labelsize      : 8 # fontsize of the x tick labels
ytick.labelsize      : 8 # fontsize of the y tick labels

不应使用
setytickLabels
更改fontsize,因为这也将设置标签(即,它将用
FixedFormatter
替换任何自动格式化程序),这通常是不需要的。最简单的方法是设置相应的
勾选参数

ax.tick_params(axis="x", labelsize=8)
ax.tick_params(axis="y", labelsize=20)

如果两个轴的尺寸相同


当然,也可以使用中的rcParams。

但是根据文档()的规定,您的代码也应该可以工作。这对jupyter/pandas来说非常有效。例如,我希望更改如下代码的字体大小:
fig,ax=plt.subplot(figsize=(12,8))df['metric'].plot(kind='bar',ax=ax)
i不适合我。在这里查看:
import pandas as pd import numpy as np import matplotlib.pyplot as plt df=pd.DataFrame({‘销售’:[3,2,3,9,10,6],‘注册’:[5,5,6,12,14,13],‘访问’:[20,42,28,62,81,50],},index=pd.date_范围(start='2018/01/01',end='2018/07/01',freq='M'))ax df plot.areaplt.tick_-params(axis=“x”,labelsize=18)plt.tick_-params(axis=“y”,labelsize=18)plt.show()
@CarloBianchi它确实有效。如果要更改次要标签的大小,请添加
which=“both”
ax.tick_params(axis="x", labelsize=8)
ax.tick_params(axis="y", labelsize=20)
ax.tick_params(labelsize=8)