【发布时间】:2016-10-17 13:48:26
【问题描述】:
当用plt.axis('auto') 绘制我的图形时,“自然”x-ticks 以 500 的频率写入,
希望频率200,我用过:
import matplotlib.ticker as ticker
ticks_loc = ticker.MultipleLocator(base=200)
fig = plt.figure('Cutlines x-axis')
ax = fig.add_subplot(111)
...
plt.axis('equal')
ax.xaxis.set_major_locator(ticks_loc)
ax.yaxis.set_major_locator(ticks_loc)
plt.grid()
给出,
好奇
- 未显示所有刻度(刻度 -1000、-800、-600 缺失)
-
plt.show()与savefig不同(在plt.show()中,“仅”刻度 -1000 和 -800 缺失,而不是 -600)。
我已经尝试减小字体大小(非常小的字体)和/或通过垂直书写 -> 没有效果:总是缺少相同的刻度。
有没有办法让所有刻度都可见(在水平模式下)?
【问题讨论】:
-
我不会在上面使用 matplotlib 版本 1.4.3 绘制
x=np.linspace(-1000,1000,1000)然后ax.plot(x,np.sin(np.pi*x/2000.))重现此代码。我想知道为 y 设置相同的ticks_loc是否是一个错误,其中数据范围在 400 之前停止......另外,尝试将bbox_inches='tight'添加到 savefig 到地址点 2。 -
您好 Ed:我正在为 Matplotlib 使用 1.5.1 版。尝试不使用 y 轴 ticks_loc 我得到相同的结果(缺少刻度)。也许是一个错误。为了解决我的问题,我使用了上面给出的 julien 的建议。谢谢你的回答。
-
嗨@user202729,这是很久以前的事了,但是您的相关链接中给出的解释(和修复)似乎是相关的。谢谢。
标签: python matplotlib ticker