Python是一門(mén)強(qiáng)大的編程語(yǔ)言,可以用它來(lái)進(jìn)行數(shù)據(jù)分析、數(shù)據(jù)可視化等多種操作。其中,用Python畫(huà)K線圖是一項(xiàng)常見(jiàn)的數(shù)據(jù)可視化操作,下面就來(lái)介紹Python如何畫(huà)K線圖。
# 導(dǎo)入需要的包 import matplotlib.pyplot as plt import matplotlib.finance as mpf # 讀取數(shù)據(jù) data = mpf.examples.stocks() # 處理數(shù)據(jù) data = data[-50:] data = data.reset_index() data['date'] = range(0, len(data)) quotes = [] for i in range(len(data)): quote = tuple([data['date'][i], data['open'][i], data['high'][i], data['low'][i], data['close'][i]]) quotes.append(quote) # 畫(huà)圖 fig, ax = plt.subplots(figsize=(10, 5)) mpf.candlestick_ohlc(ax, quotes, width=0.7, colorup='r', colordown='g') ax.autoscale_view() plt.grid(True) plt.show()
在這段代碼中,我們首先導(dǎo)入需要的包,包括matplotlib.pyplot和matplotlib.finance。然后,我們使用mpf.examples.stocks()函數(shù)讀取數(shù)據(jù),接著對(duì)數(shù)據(jù)進(jìn)行一些處理,比如只取最近50個(gè)數(shù)據(jù),添加日期等。最后,我們使用mpf.candlestick_ohlc()函數(shù)來(lái)畫(huà)K線圖。
在這段代碼中,mpf.candlestick_ohlc()函數(shù)需要傳入三個(gè)參數(shù):畫(huà)圖的Axes對(duì)象、K線數(shù)據(jù)、K線的寬度和顏色。其中,畫(huà)圖的Axes對(duì)象是通過(guò)fig, ax = plt.subplots()函數(shù)創(chuàng)建的,它相當(dāng)于一個(gè)畫(huà)板,用來(lái)存放我們畫(huà)的圖形。K線數(shù)據(jù)需要根據(jù)實(shí)際數(shù)據(jù)格式來(lái)傳入,這里我們將數(shù)據(jù)格式轉(zhuǎn)成了tuple的形式,也就是開(kāi)盤(pán)價(jià)、最高價(jià)、最低價(jià)和收盤(pán)價(jià)。K線的寬度和顏色可以根據(jù)需要進(jìn)行調(diào)整。
最后,我們使用plt.grid()函數(shù)來(lái)添加網(wǎng)格線,使用plt.show()函數(shù)將畫(huà)圖結(jié)果展示出來(lái)。