Python DateFormatter将1970作为年份,而不是数据集中的原始年份

Python DateFormatter将1970作为年份,而不是数据集中的原始年份,python,pandas,matplotlib,time-series,Python,Pandas,Matplotlib,Time Series,我正在尝试绘制时间序列数据。但x轴刻度并没有按其应有的方式出现。我想把月份和年份作为x轴的刻度。这是我的密码 from matplotlib.dates import DateFormatter import matplotlib.dates as mdates fig,ax = plt.subplots() df_month.loc['2017', "Volume"].plot.bar(color='blue', ax=ax) ax.set_ylabel("Vol

我正在尝试绘制时间序列数据。但x轴刻度并没有按其应有的方式出现。我想把月份和年份作为x轴的刻度。这是我的密码

from matplotlib.dates import DateFormatter
import matplotlib.dates as mdates
fig,ax = plt.subplots()
df_month.loc['2017', "Volume"].plot.bar(color='blue', ax=ax)
ax.set_ylabel("Volume")
ax.set_title("Volume")
date_form = DateFormatter("%y-%m")
ax.xaxis.set_major_formatter(date_form)

plt.xticks(rotation=45)
plt.show()
输出如下所示 我做错了什么?请帮忙

我的数据集如下所示:

以下是df_月数据:

下面给出了正确的x轴标签

导入模块

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter
import matplotlib.dates as mdates
示例数据

df_month = pd.DataFrame({'Date':['2006-01-03', '2006-02-04', '2006-02-08'], 'Volume':[24232729, 20553479, 20500000]}) # '2006-01-03', '2006-01-04'

df_month['Date'] = pd.to_datetime(df_month['Date'])
策划

fig,ax = plt.subplots()
ax.set_ylabel("Volume")
ax.set_title("Volume")

ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m'))
ax.bar(df_month['Date'], df_month['Volume'])

plt.xticks(df_month['Date'], rotation=90)
plt.show()

有可能看到df_月数据吗?@RuthgerRighart,我在问题中添加了df_月数据。请检查。由于matplotlib的时代发生了变化,熊猫和matplotlib之间的交互不好。这在matplotlib和pandas的两侧都已修复,因此您可能有不好的版本组合。@Jody Klymak:您能告诉我哪些版本交互不好,或者您是否有一个讨论此问题的URL?