轻松将垂直线添加到 pandas plot.bar() 时间序列数据

时间:2021-06-09 15:22:02

标签: python pandas matplotlib

我试图做一些简单的事情:为这样的数据框绘制一些条形图并添加一条垂直线:

  index         data
2021-06-05    14628.0
2021-06-06     1969.0
2021-06-07    50918.0

这样做:

 df.data.plot.bar()
 plt.axvline('20210606')

令我惊讶的是,这仅适用于 df[col].plot() 而不适用于 df[col].plot.bar()。我试着弄清楚,我发现我可以通过找到 matplotlib 实际获得的 x 数据来绘制我的线条:

ax = plt.gca()
rectangles = ax.patches
plt.axvline((rectangles[1].get_x() + rectangles[1].get_width()/2), color='r')  

这带来了想要的情节,但以一种非常不直接的方式。有没有办法通过实际使用日期来实现这一点,或者我应该习惯 ax.patches 吗?

谢谢!

0 个答案:

没有答案
相关问题