Python 使用pylab在时间序列中绘制垂直线

Python 使用pylab在时间序列中绘制垂直线,python,matplotlib,Python,Matplotlib,我的主要问题是,当x轴表示日期时间序列时,如何绘制垂直线?e、 g.2106年1月1日至1月12日 我试过的一些东西是: 我已经有了一个图表,它是由带有日期的数据框生成的。我需要在x=somedate处画一条垂直线 days = pd.DatetimeIndex(start='2016-01-07', end='2016-01-031', freq='D') example=pd.DataFrame(np.arange(7,32),index=days) gp=example.plot() 我

我的主要问题是,当x轴表示日期时间序列时,如何绘制垂直线?e、 g.2106年1月1日至1月12日

我试过的一些东西是:

我已经有了一个图表,它是由带有日期的数据框生成的。我需要在x=somedate处画一条垂直线

days = pd.DatetimeIndex(start='2016-01-07', end='2016-01-031', freq='D')
example=pd.DataFrame(np.arange(7,32),index=days)
gp=example.plot()
我试着用

gp.axvline(x=days[0].date())
但是,它显示了一个错误,序号行>=1。
如何绘制?

我用一些额外的代码更新了上面的注释。遵循您的代码:

import numpy as np
import pandas as pd
import datetime as dt

days = pd.DatetimeIndex(start='2016-01-07', end='2016-01-031', freq='D')
example=pd.DataFrame(np.arange(7,32),index=days)
gp=example.plot()

gp.axvline(x=days[0].date())

# And now the interesting part
# I add one day to the previous left xlim
gp.set_xlim(left = days[0].date() - dt.timedelta(days = 1))
gp.figure.canvas.draw()
gp.figure.show()

什么是
?我只能看到
。另外,请提供错误的完整回溯。这是一个打字错误。现在是“天”。我也将在稍后提供回溯。然而,我的主要问题是,当我的x轴代表一个日期时间序列时,如何绘制一条垂直线?e、 g.1月1日至1月12日,2106@CoderBC-提供一个最简单的工作示例,这将更容易帮助您。只有1-2个数据点,以及你将如何绘制它们。我已经花了很多时间让ammendsStill错过了整个回溯。但是,
gp.axvline(days[5].date())
在我的电脑上工作。您是否可以在问题中添加
pandas
标记并编辑您正在使用的python/mpl/pandas版本?