特定日期的 axvline - 每周数据
axvline on a specific date - weekly data
我正在尝试在特定日期创建一条垂直线,这不是我的 df 每周日期索引的一部分,
由于它不在索引中,因此该图在 df 索引中的下一个日期定位垂直线:
df=pd.DataFrame(index=pd.date_range('2020-01-01','2020-05-01',freq='W'),data={'val':range(0,17)})
ax=df.plot(grid=True,figsize=(12,6))
ax.set_xticks(df.index)
ax.set_xticklabels([x.date() for x in df.index],rotation=90)
ax.axvline(pd.Timestamp('2020-03-03'),ls='--',color='k')
如你所见,虽然我想在'2020-03-03'上画线,但它是在'2020-03-08'上创建的。
有什么想法吗?
谢谢:)
我能够使用 matplotlib 而不是 pandas plot
来解决这个问题
import matplotlib.pyplot as plt
fig,ax=plt.subplots(1,1,figsize=(12,6))
ax.plot(df)
ax.set_xticks(df.index)
ax.set_xticklabels([x.date() for x in df.index],rotation=90)
ax.axvline(pd.Timestamp('2020-03-03'),ls='--',color='k')
我正在尝试在特定日期创建一条垂直线,这不是我的 df 每周日期索引的一部分, 由于它不在索引中,因此该图在 df 索引中的下一个日期定位垂直线:
df=pd.DataFrame(index=pd.date_range('2020-01-01','2020-05-01',freq='W'),data={'val':range(0,17)})
ax=df.plot(grid=True,figsize=(12,6))
ax.set_xticks(df.index)
ax.set_xticklabels([x.date() for x in df.index],rotation=90)
ax.axvline(pd.Timestamp('2020-03-03'),ls='--',color='k')
如你所见,虽然我想在'2020-03-03'上画线,但它是在'2020-03-08'上创建的。
有什么想法吗? 谢谢:)
我能够使用 matplotlib 而不是 pandas plot
来解决这个问题import matplotlib.pyplot as plt
fig,ax=plt.subplots(1,1,figsize=(12,6))
ax.plot(df)
ax.set_xticks(df.index)
ax.set_xticklabels([x.date() for x in df.index],rotation=90)
ax.axvline(pd.Timestamp('2020-03-03'),ls='--',color='k')