如何在函数后面绘制矩形

Sli*_*Jim 7 matplotlib pandas

我正在使用matplotlib在熊猫中绘制一个时间序列,我正试图为这样的情节着色.

想要的结果的插图

我有AF点的时间.我试图在剧情中使用它来获得它们的位置

gcf().canvas.mpl_connect('button_press_event', debug_print_onclick_event)
Run Code Online (Sandbox Code Playgroud)

结果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()
Run Code Online (Sandbox Code Playgroud)

但补丁的内容显示出来了.还测试了直接使用时间,它实际上运行但没有渲染补丁.

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

什么是基础类型?我应该如何things在matplotlib中及时定位?任何丑陋的工作表示赞赏.

Wou*_*ire 6

您似乎已将x和y交换为Rectangle((x,y),...)的第一个参数.矩形((22395760,0),...)

而不是使用补丁,plot.axvspan()似乎更适合您想要做的事情.

plt.gca().axvspan(date,date+2*pandas.datetools.Minute(15),facecolor='green',edge? color='green',alpha=0.3)
Run Code Online (Sandbox Code Playgroud)