在matplotlib中使用xticks
(或其他绘图命令)时,如何防止yticks
的标签与hist
的标签重叠?
答案 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关键字告诉它删除刻度线的最低值