如何在函数后面绘制矩形

时间:2012-09-04 09:05:41

标签: matplotlib pandas

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

Illustration on the wanted result

我有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中及时定位things?任何丑陋的工作表示赞赏。

1 个答案:

答案 0 :(得分: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)