在Pandasp上标记事件点

2024-10-05 14:26:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在绘制一些二维时间序列数据,我想用X或其他标记在绘图上标记特定日期。例如,如果我有过去6个月里每个日期的所有数据,我想指出圣诞节在这个图上的位置。实现这一目标最简单的方法是什么?我可以手动完成,但我更喜欢在代码中添加一些自动化的东西。在

编辑:到目前为止我的尝试。不确定是否有更好的方法。我在比较日期对象时遇到了一些问题,这就是为什么比较字符串被拆分成原来的样子。在

filt1.plot(figsize=(16,16))
filt3=filtered[(filtered.index.year==2012)&(filtered.index.month==12)&(filtered.index.day==25)]["Income_MA"]
filt3.plot(style="ro")

Tags: 数据方法代码标记编辑绘图目标index
1条回答
网友
1楼 · 发布于 2024-10-05 14:26:04

根据tcaswell的评论,这样的事情可能对你有用吗?在

df = pd.Series(np.random.rand(180), index=pd.date_range(start=pd.datetime(2000, 9, 1), periods=180, freq='D'))
xmas_date = pd.datetime(2000, 12, 25)

myax = df.cumsum().plot()
ylims = myax.get_ylim()
myax.vlines(xmas_date, ylims[0], ylims[1])
myax.annotate("Xmas", xy=(xmas_date, ylims[1]), 
              xytext=(-12, 5),
              textcoords='offset points')
myax.set_ylim(ylims)

给予

enter image description here

这是一个脆弱的解决方案,因为我手动设置了一个单独的日期进行注释,但是将代码包装在函数中并为您感兴趣的每个日期调用它应该非常容易。在

相关问题 更多 >