在matplotlib图中,如何使用ax1.set_xticklabels()使标记标签的字体大小更小?

此外,如何将它从水平旋转到垂直?


当前回答

下面的方法对我很有效:

ax2.xaxis.set_tick_params(labelsize=7)
ax2.yaxis.set_tick_params(labelsize=7)

上面的优点是您不需要提供标签数组,并且可以处理轴上的任何数据。

其他回答

其实有一个更简单的方法。我刚刚发现:

import matplotlib.pyplot as plt
# We prepare the plot  
fig, ax = plt.subplots()

# We change the fontsize of minor ticks label 
ax.tick_params(axis='both', which='major', labelsize=10)
ax.tick_params(axis='both', which='minor', labelsize=8)

不过,这只回答了你的问题的标签大小部分。

另一种替代方法

我有两个并排的地块,想分别调整tick标签。

上面的解决方案很接近,但它们并不适合我。我从这个matplotlib页面找到了我的解决方案。

ax.xaxis.set_tick_params(labelsize=20)

这招很管用,而且直击要害。对于我的用例,需要调整的是右边的图。对于左边的图,因为我正在创建新的标记标签,所以我能够在设置标签的相同过程中调整字体。

ie

ax1.set_xticklabels(ax1_x, fontsize=15)
ax1.set_yticklabels(ax1_y, fontsize=15)

因此我使用了正确的情节,

ax2.xaxis.set_tick_params(labelsize=24)
ax2.yaxis.set_tick_params(labelsize=24)

一个小小的微妙之处……我知道…但我希望这能帮助到一些人:)

如果有人知道如何调整字体大小的数量级标签,加分。

要同时指定字体大小和旋转,请尝试以下方法:

plt.xticks(fontsize=14, rotation=90)
plt.tick_params(axis='both', which='minor', labelsize=12)

或者,你可以这样做:

import matplotlib as mpl
label_size = 8
mpl.rcParams['xtick.labelsize'] = label_size