グラフに挑戦(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()

出力結果。