使用ax.set_xlim()后matplotlib xticks放错位置

时间:2018-04-27 04:06:06

标签: matplotlib

当我用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)

as expected

将此行添加到代码

ax1.set_xlim(-0.2,8.2)

xticks错误放置:

unexpected shif to the left

1 个答案:

答案 0 :(得分:1)

当您将ticklabels设置为列表的元素时,您不指定实际的tick位置。因此,您将其保留为自动AutoLocator以放置刻度线位置,但随后为这些刻度设置一些自定义标签。 这通常不会给出合理的结果。

根据经验:如果您修复标签,您还需要修复位置。

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