我试图用其值绘制我的pandas系列,但在x轴上的值错误。我在同一个工作簿上完成相同的操作超过3次。这是怎么了?
S1=rog1.groupby('Date')['availabi'].mean()
S1.index
# output
DatetimeIndex(['2018-05-10', '2018-06-10', '2018-07-10'],
dtype='datetime64[ns]', name='Date', freq=None)
但是当我决定要很多的时候。
plt.figure(figsize=(10,4))
plt.plot(S1.index, S1)
以下是我得到的
y轴值很好。我不知道绘图值来自哪里。我在这个系列中只有3行
答案 0 :(得分:1)
问题是matplotlib自动检测x标记的数量和间距以填充x轴,而不会重叠标签,也不会留下太多空白。
我能想到的最简单的解决方法: 1.创建图形和轴手柄 2.在轴上绘制数据 3.手动设置xtick的位置和标签
用于替换两行绘图的代码:
fig, ax = plt.subplots(figsize=(10, 4))
S1.plot(ax=ax)
ax.set_xticks(S1.index);
ax.set_xticklabels(S1.index.strftime('%Y-%m-%d'));