如何防止标签与在matplotlib中使用(或其他绘图命令)时xticks
的标签重叠?yticks
hist
有几种方法。
一种是使用你正在绘制的图形的tight_layout方法,它会自动尝试优化标签的外观。
fig, ax = subplots(1)
ax.plot(arange(10),rand(10))
fig.tight_layout()
另一种方法是修改刻度格式的 rcParams 值:
rcParams['xtick.major.pad'] = 6
这将使刻度线离轴更远一点。修改 rcparams 后(任何其他的,你可以在你的 matplotlibrc 配置文件中找到完整的列表),记得用 rcdefaults 函数将它设置回默认值。
第三种方法是篡改轴 locator_params 告诉它不要在角落绘制标签:
fig, ax = subplots(1)
ax.plot(arange(10),rand(10))
ax.locator_params(prune='lower',axis='both')
axis 关键字告诉定位器它应该在哪个轴上工作,而 prune 关键字告诉它删除刻度的最低值
尝试增加标签上刻度之间的填充
import matplotlib
matplotlib.rcParams['xtick.major.pad'] = 8 # defaults are 4
matplotlib.rcParams['ytick.major.pad'] = 8
也一样[x|y]tick.minor.pad
。
另外,尝试设置:[x|y]tick.direction
to 'out'
。这为您提供了更多空间,并有助于使刻度更加明显——尤其是在带有暗条的直方图上。