我有这个代码库来绘制一些时间序列(您可以在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)我要提前感谢你们。
发布于 2020-06-27 15:47:49
由于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)

https://stackoverflow.com/questions/62606994
复制相似问题