グラフに挑戦(2) ローソク足グラフ
同じように、今度はローソク足グラフを出力。
渡すデータの形は、(time, open, close, high, low, ...) という並びのリスト。
# coding: utf-8 ''' 簡単なグラフ作成テスト ''' import datetime import pylab import matplotlib.dates import matplotlib.finance def plot2(): """ローソク足グラフのテスト """ #始値 opens = [89.690000,89.569900,89.400000,89.529900,88.779900,88.580000,88.370000,89.800000,89.690000,89.339900] #高値 highs = [90.169900,89.919900,89.980000,89.650000,89.389900,88.709900,89.879900,90.190000,89.900000,90.779900] #安値 lows = [89.389900,88.569900,89.379900,88.599900,87.980000,88.129900,88.330000,89.410000,88.809900,89.250000] #終値 closes = [89.540000,89.800000,89.500000,88.760000,88.580000,88.410000,89.769900,89.699900,89.419900,90.550000] #日付 startDate = datetime.date(2009,10,1) quotes = [] for i in range(10): dd = startDate + datetime.timedelta(i) days = matplotlib.dates.date2num(dd) quotes.append([days,opens[i],closes[i],highs[i],lows[i]]) print quotes #グラフ作成 fig = pylab.figure() ax = fig.add_subplot(111) matplotlib.finance.candlestick(ax, quotes) ax.xaxis_date() fig.autofmt_xdate() #グラフ表示 pylab.show() def main(): plot2() if __name__ == '__main__': main()