我试图做一些简单的事情:为这样的数据框绘制一些条形图并添加一条垂直线:
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
吗?
谢谢!