Python 如何在Matplotlib绘图上显示时间序列图中的日期

Python 如何在Matplotlib绘图上显示时间序列图中的日期,python,matplotlib,Python,Matplotlib,我有这个代码库来绘制一些时间序列(你可以在url上看到它) 我一直试图显示原始日期,但我只能得到天数 (从1到最后),即使时间序列本身显示日期。在我写这篇文章的时候,我已经尝试了不同的解决方案,在没有任何运气的情况下,将这些编号的日期更改为实际日期。所以我要去找男人帮忙。我怎样才能解决这个问题?即使是推荐的理论也有助于提高我的理解力 这是当前代码: import pandas as pd from datetime import datetime, timedelta import matplo

我有这个代码库来绘制一些时间序列(你可以在
url
上看到它)

我一直试图显示原始日期,但我只能得到天数 (从1到最后),即使时间序列本身显示日期。在我写这篇文章的时候,我已经尝试了不同的解决方案,在没有任何运气的情况下,将这些编号的日期更改为实际日期。所以我要去找男人帮忙。我怎样才能解决这个问题?即使是推荐的理论也有助于提高我的理解力

这是当前代码:

import pandas as pd
from datetime import datetime, timedelta
import matplotlib.dates as mpl_dates
import geopandas as gpd
import matplotlib.pyplot as plt 
plt.style.use('seaborn')
%matplotlib qt

url = 'https://raw.githubusercontent.com/mariorz/covid19-mx-time-series/master/data/covid19_confirmed_mx.csv'
df = pd.read_csv(url, index_col=0)
df = df.loc['Colima','18-03-2020':'26-06-2020']
df.index = pd.to_datetime(df.index, format='%d-%m-%Y')

df.reset_index(inplace=True, drop=True)
fig, ax = plt.subplots()
fig.text(0.90, 0.17, 'datacol.com.mx',
          fontsize=8, color='gray',
          ha='right', va='bottom', alpha=0.3)
plt.xlabel('Días desde el primer caso positivo en Colima (18 de marzo, 2020)', fontsize=10)
plt.ylabel('Casos positivos', fontsize=10)
plt.title('Casos positivos acumulados de COVID-19 en Colima (26 de junio, 2020)', fontsize=10)
plt.tight_layout()
df.plot()
plt.savefig('viz/casos_acumulados.png', dpi=400)

我提前感谢大家。

因为df是一个系列,它被转换成数据帧。此外,x轴是一个时间序列,因此我们没有重置索引。我只是贴出你的代码和差异之间的差异

df = pd.DataFrame(df)
df.index = pd.to_datetime(df.index, format='%d-%m-%Y')

# df.reset_index(inplace=True, drop=True)
完整代码:

import pandas as pd
from datetime import datetime, timedelta
import matplotlib.dates as mpl_dates
import geopandas as gpd
import matplotlib.pyplot as plt 
plt.style.use('seaborn')
# %matplotlib qt

url = 'https://raw.githubusercontent.com/mariorz/covid19-mx-time-series/master/data/covid19_confirmed_mx.csv'
df = pd.read_csv(url, index_col=0)
df = df.loc['Colima','18-03-2020':'26-06-2020']
df = pd.DataFrame(df)
df.index = pd.to_datetime(df.index, format='%d-%m-%Y')

# df.reset_index(inplace=True, drop=True)
fig, ax = plt.subplots()
ax.plot(df.Colima)
ax.text(max(df.index), 0.17, 'datacol.com.mx', fontsize=8, color='gray', ha='right', va='bottom', alpha=0.3)
ax.set_xlabel('Días desde el primer caso positivo en Colima (18 de marzo, 2020)', fontsize=10)
ax.set_ylabel('Casos positivos', fontsize=10)
ax.set_title('Casos positivos acumulados de COVID-19 en Colima (26 de junio, 2020)', fontsize=10)

plt.tight_layout()
# ax = df.plot()
plt.savefig('casos_acumulados.png', dpi=400)

非常感谢您!这完全解决了我的问题。