防止xticks重叠yticks

时间:2012-11-20 20:43:07

标签: python matplotlib

matplotlib中使用xticks(或其他绘图命令)时,如何防止yticks的标签与hist的标签重叠?

enter image description here

2 个答案:

答案 0 :(得分:2)

尝试增加标签上的刻度之间的填充

import matplotlib
matplotlib.rcParams['xtick.major.pad'] = 8 # defaults are 4
matplotlib.rcParams['ytick.major.pad'] = 8 
{p>同样适用于[x|y]tick.minor.pad

另外,请尝试将[x|y]tick.direction设置为'out'。这会给你更多的空间,并有助于使得滴答声更加明显 - 特别是在带有暗条的直方图上。

答案 1 :(得分:2)

有几种方法。

一种是使用您正在绘制的图形的tight_layout方法,它将自动尝试优化标签的外观。

fig, ax = subplots(1)
ax.plot(arange(10),rand(10))
fig.tight_layout()

另一种方法是修改刻度线格式的rcParams值:

 rcParams['xtick.major.pad'] = 6

这将绘制距离轴稍远的刻度线。在修改rcparams之后(你可以在matplotlibrc配置文件中找到完整的列表),记得用rcdefaults函数将其设置为deafult。

第三种方法是篡改轴locator_params,告诉它不要在角落里画出标签:

fig, ax = subplots(1)
ax.plot(arange(10),rand(10))
ax.locator_params(prune='lower',axis='both')

轴关键字告诉定位器它应该在哪个轴上工作,并且prune关键字告诉它删除刻度线的最低值