使用ax.set_xlim()后,matplotlib的xticks错位了。

3
当我使用ax.set_xlim()设置xlim时,我的xtick标签都向左偏移一个空格。
fig,axes=plt.subplots(2,1,sharey=True)
x=list(range(0,9))
y=list(range(1,10))
df=pd.DataFrame({'x':x,'y':y})
ax1=df.plot('x','y',ax=axes[0])
xticklabels=x
ax1.set_xticklabels(x)

预期如此

在我添加这行代码后

ax1.set_xlim(-0.2,8.2)

刻度线位置错误:

向左意外移动


刻度标签放置错误,我是指 - undefined
1个回答

2

虽然您将刻度标签设置为列表的元素,但未指定实际刻度位置。因此,您将其留给自动 AutoLocator 来放置刻度位置,但然后将一些自定义标签设置为这些刻度。

一般来说,这样做不会得到合理的结果。

作为经验法则:如果您固定标签,则需要同时固定位置。

ax.set_xticks(x)
ax.set_xticklabels(x)

非常感谢,现在看起来很明显 - undefined

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接