5

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

                                                          在此处输入图像描述

4

2 回答 2

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 函数将它设置回默认值。

第三种方法是篡改轴 locator_params 告诉它不要在角落绘制标签:

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

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

于 2012-11-20T22:35:00.197 回答
2

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

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.directionto 'out'。这为您提供了更多空间,并有助于使刻度更加明显——尤其是在带有暗条的直方图上。

于 2012-11-20T22:31:23.890 回答