私は以下の燭台プロットを持っています。私はそれをスクロール可能にして、もっと詳細を見ることができるようにしたい。現在のプロットは長すぎて詳細を見ることができません。 私はここで、スクロール可能なラインプロットを作成するための例を発見した: Matplotlib: scrolling plotPythonでうろこ状のキャンデルスティックプロットを作成するには?
しかし、燭台を更新する折れ線グラフを更新するよりも、より複雑な方法と思われます。燭台プロットは線とパッチを返します。手伝ってくれますか?
from pandas.io.data import get_data_yahoo
import matplotlib.pyplot as plt
from matplotlib import dates as mdates
from matplotlib import ticker as mticker
from matplotlib.finance import candlestick_ohlc
import datetime as dt
symbol = "GOOG"
data = get_data_yahoo(symbol, start = '2011-9-01', end = '2015-10-23')
data.reset_index(inplace=True)
data['Date']=mdates.date2num(data['Date'].astype(dt.date))
fig = plt.figure()
ax1 = plt.subplot2grid((1,1),(0,0))
plt.title('How to make it scrollable')
plt.ylabel('Price')
ax1.xaxis.set_major_locator(mticker.MaxNLocator(6))
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
candlestick_ohlc(ax1,data.values,width=0.2)
ありがとう!なぜあなたは '*'をそこに置いて、なぜ私たちが必要なのかをspos = Slider(axpos、 'Position'、datetime.date(* date1).toordinal()、datetime.date(* date2).toordinal '.tordinal()'?それは 'update'関数に関連していますか? – Lisa
私は助けてうれしいです。 *演算子は、タプル 'date1'と' date2'をコンストラクタ 'datetime.date'の引数に展開します。ここで確認してください。https://docs.python.org/3/tutorial/controlflow.html#unpacking-argument-lists 。そして 'Slider'ウィジェットは数字だけを管理することができます。datetime.dateオブジェクトを扱うことはできません.toordinal()メソッドは、日付をエポックから秒数に変換します。これは便利です。データがプロットされます。あなたのバージョンのmatplotlibに応じて、この番号をスライダの右に見ることができます。 –
また、 'Slider'ドキュメンテーションをチェックして、引数の順序を見ることができます。http://matplotlib.org/1.3.1/api/widgets_api.html#matplotlib.widgets.Slider –