首页 > 解决方案 > 绘图未显示我的系列的确切值

问题描述

我试图用它的值来绘制我的熊猫系列,但我的 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 行

标签: pythonpandas

解决方案


问题是 matplotlib 会自动检测 x-ticks 的数量和间距以填充 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'));

推荐阅读