Python可視化Matplotlib-K線圖


 

引入類庫

import matplotlib as mpl
import tushare as ts
import matplotlib.pyplot as plt
import matplotlib.finance as mpf
from matplotlib import rc
from matplotlib.pylab import date2num
from datetime import datetime, timedelta

設置取k線的時間

today = datetime.now().strftime('%Y-%m-%d')
before = (datetime.now() - timedelta(days = 120)).strftime('%Y-%m-%d') #120自然日,大概80個交易日

獲取行情數據

#獲取行情數據,格式: pandas.core.frame.DataFrame
code = '000063'
tsla_df = ts.get_k_data(code, start = before, end = today)
# print(tsla_df)

 

'''
蠟燭圖的日期,不支持普通的YYYY-MM-DD格式
要使用matplotlib.finance.date2num進行轉換為特有的數字值
'''
qutotes = []
for _, (d, o, c, h, l) in enumerate(
        zip(tsla_df.date, tsla_df.open, tsla_df.close, tsla_df.high, tsla_df.low)):
    d = mpf.date2num(datetime.strptime(d,'%Y-%m-%d'))
    # 日期,開盤,收盤,最高,最低組成tuple對象val
    val = (d, o, h, l, c)
    # 加val加入qutotes
    qutotes.append(val)

 

fig, ax = plt.subplots(figsize=(15,5))      #設置圖片大小
fig.subplots_adjust(bottom=0.5)             #調整畫框的位置,用來消除白邊

ax.xaxis_date()                             # X軸的刻度為日期
plt.xticks(rotation=45)                     # 設置日期刻度旋轉的角度
plt.title(code)                         # 設置圖片標題
plt.xlabel('Date')                          # 設置X軸標題
plt.ylabel('Price')                         # 設置Y軸標題
plt.grid(True)                              # 顯示網格

mpf.candlestick_ohlc(ax, qutotes, width=0.6, colorup='g', colordown='r', alpha=1.0)
plt.show()

 




免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM