6

matplotlib を使用してパンダで時系列をプロットしていますが、このようなプロットに色を付けようとしています。

希望する結果の図

AFポイントの時間があります。を使用して、プロット内のそれらの位置を取得しようとしました

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'
)

基礎となるタイプは何ですか?thingsmatplotlib でどのように配置すればよいですか? 醜いハックの作業は大歓迎です。

4

1 に答える 1

5

の最初の引数として x と y を交換したようですRectangle((x,y), ...)
Rectangle((22395760, 0), ...)

パッチを使用する代わりに、plot.axvspan()やりたいことにより適しているようです。

plt.gca().axvspan(date,date+2*pandas.datetools.Minute(15),facecolor='green',edge‌ color='green',alpha=0.3)
于 2012-09-04T11:39:03.520 に答える