引入类库

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()

 

版权声明:本文为bitquant原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/bitquant/p/python-matplotlib-kline.html