Matplotlib make tick labels font size smaller
在matplotlib图中,如何使用
此外,如何将其从水平旋转到垂直?
实际上有一个更简单的方法。我刚刚发现:
1 2 3 4 5 6 7 8 9 | import matplotlib.pyplot as plt # We prepare the plot fig = plt.figure(1) # We define a fake subplot that is in fact only the plot. ax = fig.add_subplot(111) # 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) |
不过,这只回答了你问题的一部分:
要同时指定字体大小和旋转,请尝试以下操作:
1 | plt.xticks(fontsize=14, rotation=90) |
请注意,较新版本的MPL有此任务的快捷方式。此问题的另一个答案中显示了一个示例:https://stackoverflow.com/a/11386056/42346
下面的代码用于说明目的,不一定要进行优化。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | import matplotlib.pyplot as plt import numpy as np def xticklabels_example(): fig = plt.figure() x = np.arange(20) y1 = np.cos(x) y2 = (x**2) y3 = (x**3) yn = (y1,y2,y3) COLORS = ('b','g','k') for i,y in enumerate(yn): ax = fig.add_subplot(len(yn),1,i+1) ax.plot(x, y, ls='solid', color=COLORS[i]) if i != len(yn) - 1: # all but last ax.set_xticklabels( () ) else: for tick in ax.xaxis.get_major_ticks(): tick.label.set_fontsize(14) # specify integer or one of preset strings, e.g. #tick.label.set_fontsize('x-small') tick.label.set_rotation('vertical') fig.suptitle('Matplotlib xticklabels Example') plt.show() if __name__ == '__main__': xticklabels_example() |
或者,您也可以这样做:
1 2 3 | import matplotlib as mpl label_size = 8 mpl.rcParams['xtick.labelsize'] = label_size |
在Matplotlib的当前版本中,可以执行
另一种选择
我有两个并排的绘图区,希望单独调整刻度线标签。
以上的解决方案都很接近,但它们并没有为我解决。我从这个Matplotlib页面找到了我的解决方案。
1 | ax.xaxis.set_tick_params(labelsize=20) |
这是个骗局,而且直截了当。对于我的用例,右边的图需要调整。对于左侧的绘图,自从我创建新的刻度线标签以来,我可以在设置标签的相同过程中调整字体。
工业工程
1 2 | ax1.set_xticklabels(ax1_x, fontsize=15) ax1.set_yticklabels(ax1_y, fontsize=15) |
所以我用了正确的情节,
1 2 | ax2.xaxis.set_tick_params(labelsize=24) ax2.yaxis.set_tick_params(labelsize=24) |
一只小猎犬巧妙地…我知道。。。但我希望这能帮助别人:)
如果有人知道如何调整字体大小的数量级标签的奖励点。
对于较小的字体,我使用
它工作!
您还可以使用如下行更改fontsize等标签显示参数:
1 | zed = [tick.label.set_fontsize(14) for tick in ax.yaxis.get_major_ticks()] |
1 | plt.tick_params(axis='both', which='minor', labelsize=12) |
以下内容对我很有用:
1 2 | ax2.xaxis.set_tick_params(labelsize=7) ax2.yaxis.set_tick_params(labelsize=7) |
上述优点是,您不需要提供