首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Matplotlib上显示时间序列图中的日期

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

Stack Overflow用户
提问于 2020-06-27 15:06:25
回答 1查看 55关注 0票数 0

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

我一直在尝试显示原始日期,但我只能获得日期编号(从1到最后),即使时间序列显示日期本身也是如此。到我写这篇文章的时候,我已经尝试了不同的解决方案,将这些编号的日期更改为实际的日期,但没有任何运气。所以我来找人帮忙。我该如何解决这个问题呢?为了提高我的理解,甚至推荐的理论也会有所帮助。

这是当前的代码:

代码语言:javascript
复制
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)

我要提前感谢你们。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-27 15:47:49

由于df是一个序列,因此将其转换为数据帧。另外,x轴是一个时间序列,所以我们没有重置索引。我只是发布你的代码和区别之间的区别。

代码语言:javascript
复制
df = pd.DataFrame(df)
df.index = pd.to_datetime(df.index, format='%d-%m-%Y')

# df.reset_index(inplace=True, drop=True)

完整代码:

代码语言:javascript
复制
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)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62606994

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档