相关疑难解决方法(0)

使用 DateFormatter 将开始日期重置为 1970 年

我有一个数据框,其中索引是每个月的第一个日期,size列是该月的频率,例如

显示每月 1 号日期和频率列表的表格

在数据帧上使用.index确认索引的类型是DatetimeIndex

DatetimeIndex(['2006-12-01', ...],
              dtype='datetime64[ns]', name='created_at_month', length=175, freq=None)
Run Code Online (Sandbox Code Playgroud)

在 DataFrame 上使用.plot()我可以每月生成一个折线图:

在此输入图像描述

但是,它仅在 x 轴上每隔一年列出一次,我希望它在轴上列出每年。

我希望能够做到

DatetimeIndex(['2006-12-01', ...],
              dtype='datetime64[ns]', name='created_at_month', length=175, freq=None)
Run Code Online (Sandbox Code Playgroud)

然而,这根本不输出任何标签。

如果我添加一个次要格式化程序 ( ax.xaxis.set_minor_formatter(mdates.DateFormatter('%d %m %Y'))),我会得到以下结果:

在此输入图像描述

我在这里做错了什么导致日期改变?

相关版本有:

  • Matplotlib:3.3.4
  • 熊猫:1.2.4
  • 蟒蛇:3.8.8

python datetime matplotlib dataframe pandas

4
推荐指数
1
解决办法
2865
查看次数

标签 统计

dataframe ×1

datetime ×1

matplotlib ×1

pandas ×1

python ×1