我想绘制 Pandas 中的时间序列。我在 TimeSeries 中有 336 条记录。我只想在 x 轴上每 20 个左右的数据点显示一次日期/时间(TimeSeries 的索引)。
这是我尝试执行此操作的方法:
stats.plot()
ax.set_xticklabels(stats.index, rotation=45 )
ax.xaxis.set_major_locator(MultipleLocator(20))
ax.xaxis.set_minor_locator(NullLocator())
ax.yaxis.set_major_locator(MultipleLocator(.075))
draw()
我的 x 轴显示正确的标签数量 (18),但这些是该系列中的前 18 个,它们与图中的数据点不正确对应。
最佳答案
问题是您正在使用set_xticklabels
,它设置刻度标签的值独立于数据。刻度线从您传入的列表中按顺序标记。
由此我无法真正说出您想要做什么,但是您看到的行为是库的“正确”行为(它完全按照您的指示进行操作,但这不是您想要的) 想要它做)。
关于python - Xaxis 标签与数据点不匹配 - Pandas/Matplotlib,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18859160/