Matplotlib 如何随时间绘制函数后面的矩形

Matplotlib 如何随时间绘制函数后面的矩形,matplotlib,pandas,Matplotlib,Pandas,我正在使用matplotlib在pandas中绘制一个时间序列,我正在尝试将一个图涂成这样的颜色 我有A-F点的时间。我试着用计算机来确定他们在情节中的位置 gcf().canvas.mpl_connect('button_press_event', debug_print_onclick_event) 最终x的位置在22'395'850左右(甚至不接近unixtime:S) 我的代码基本上如下所示: plot = data.plot(legend=False) #where data is

我正在使用matplotlib在pandas中绘制一个时间序列,我正在尝试将一个图涂成这样的颜色

我有A-F点的时间。我试着用计算机来确定他们在情节中的位置

gcf().canvas.mpl_connect('button_press_event', debug_print_onclick_event)
最终x的位置在22'395'850左右(甚至不接近unixtime:S)

我的代码基本上如下所示:

plot = data.plot(legend=False) #where data is the timeseries (pandas.DataFrame).
plot.add_patch(
    plt.Rectangle(
        (0,22395760), 
        60, 
        45,
        facecolor='green',
        edgecolor='green'
    )
)
plt.draw()
plt.show()
但是这个补丁什么都没有出现。 还测试了直接使用时间,它实际上运行了,但没有渲染补丁

plt.Rectangle(
    (0,datetime_D), 
    60, 
    4*pandas.datetools.Minutes(15),
    facecolor='green',
    edgecolor='green'
)

基本类型是什么?我应该如何在matplotlib中及时定位
事物
?任何丑恶的黑客工作是赞赏的

您似乎已经将x和y作为
矩形((x,y),…)的第一个参数进行了交换。

矩形((22395760,0),…)

与使用修补程序相比,
plot.axvspan()
似乎更符合您的需要

plt.gca().axvspan(date,date+2*pandas.datetools.Minute(15),facecolor='green',edge‌ color='green',alpha=0.3)

您似乎已经交换了x和y作为矩形((x,y),…)的第一个参数。矩形((22395760,0),…)天哪,这可能是解决方案,我现在正在测试它,稍等.btw plot.axvspan()似乎更适合您想要做的事情。最初,我对矩形的宽度有一些问题,可能是几分钟,也可能是几天,这取决于我使用的绘图方法。但是axvspan的工作很有魅力
pl.gca().axvspan(date,date+2*pandas.datetools.Minute(15),facecolor='green',edgecolor='green',alpha=0.3)
总结一下你的两条评论作为答案,我会选择它作为解决方案。将所有评论结合起来。可能需要删除这里的注释。