日付と時刻であるインデックスを x 軸として使用し、データフレーム内の残りのデータを実際のデータとして使用して、pandas データフレームにデータをプロットしようとしています。これが私が今試していることです:
from matplotlib.finance import candlestick2
bars[['open','high','low','close']].head()
tickdatetime open high low close
2012-09-20 09:00:00 1447.50 1447.50 1447.00 1447.00
2012-09-20 09:01:00 1447.00 1447.25 1447.00 1447.25
2012-09-20 09:02:00 1447.25 1447.75 1447.25 1447.50
2012-09-20 09:03:00 1447.75 1447.75 1447.25 1447.50
2012-09-20 09:04:00 1447.25 1447.50 1447.25 1447.50
fig,ax = plt.subplots()
ax.plot_date(bars.ix.to_pydatetime(), s, 'v-')
fig,ax = plt.subplots()
ax.plot_date(bars.ix.to_pydatetime(), s, 'v-')
ax = fig.add_axes([0.1, 0.2, 0.85, 0.7])
ax.autoscale_view()
linecol, rectcol = candlestick2(ax,bars['open'],bars['close'],bars['high'],bars['low'],width=.5,colorup='g',colordown''r',alpha=1)
z = rectcol.get_zorder()
linecol.set_zorder(0.9*z)
しかし、私はこのエラーが発生します:
AttributeError Traceback (most recent call last)
<ipython-input-57-d62385067ceb> in <module>()
1 fig,ax = plt.subplots()
----> 2 ax.plot_date(bars.ix.to_pydatetime(), s, 'v-')
3
4 #ax = fig.add_axes([0.1, 0.2, 0.85, 0.7])
5 ax.autoscale_view()
AttributeError: '_NDFrameIndexer' object has no attribute 'to_pydatetime'
私は、bars.plot() がこれを自動的に処理するための優れたインターフェイスであることを理解していますが、candlestick2 の使用、より多くのサブプロットなどを実行できるようにしたいと考えています。
私の問題の根本は、データフレームからインデックス値を取得し、インデックス値を日時に変換しようとしているだけだと思いますが、まだできていません。
どんなアイデアでも大歓迎です!