【问题标题】:axvline on a specific date - weekly data特定日期的 axvline - 每周数据
【发布时间】:2020-08-21 07:40:15
【问题描述】:

我正在尝试在特定日期创建一条垂直线,这不是我的 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' 上创建的。

这里有什么想法吗? 谢谢:)

【问题讨论】:

  • 您是否尝试过简单地将“2020-03-03”添加到您的样本中?因为您可以轻松地插入 y 值。
  • 我需要这个来处理更复杂且难以插值的事情

标签: python pandas datetime matplotlib axvline


【解决方案1】:

我能够使用 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')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-04
    相关资源
    最近更新 更多