今天我们绘制一个K线图。绘制K线图,用matplotlib也可以,但代码较多。今天我们使用mplfinance库,能稍微简洁一些。思路比较简单,先从tushare上采集数据并简单整理一下(就是把日期格式加工一下,然后设置为索引),再设置K线图的风格,最后生成K线图。以下是代码:
import mplfinance as mpf
from datetime import datetime
#定义一个函数,将8位数字日期转换成带短横线的日期格式,后面会调用。
def convert_to_date(num):
year = int(num[:4])
month = int(num[4:6])
day = int(num[6:8])
date = datetime(year, month, day)
return date
#从tushare获取数据
data = pro.daily(ts_code='000001.SZ', start_date='20220101', end_date='20231127')
#将trade_date一列的将8位数字日期转换成带短横线的日期格式
for i in range(len(data['trade_date'])):
data['trade_date'][i]=convert_to_date( data.iloc[i][1])
#默认日期是降序排列的,我们把它调成升序
data=data.sort_values(by=['trade_date'],ascending=True)
#将trade_date一列设置为索引
data=data.set_index('trade_date')
# 设置阳线红色,阴线绿色,k线边缘、影线及成交量颜色为默认。
color = mpf.make_marketcolors(up='r',down='g',edge='inherit',
wick='inherit',volume='inherit')
# 设置图表的背景色,参数为颜色主题,数字颜色,网格颜色,中文类型。
style = mpf.make_mpf_style(marketcolors=color,
figcolor='(1,1, 1)',gridcolor='(0.8, 0.8, 0.8)',
rc={'font.family':'SimHei'})
#输入图形,参数含义依次为:K线的数量,图形样式、图形类型、是否显示成交量、X轴刻度旋转,
日期格式、标题、均线的类型。
mpf.plot(data[-218:-1], style=style, type='candle', volume=True,xrotation=15,
datetime_format='%Y%m%d',title='000001的日k线图', mav=(5, 10, 20))
代码不多,加上注释及长代码换行也就不到30行,下面看看结果:

作为K线图,这个是比较简单朴素的,如果再仔细研究一下的话,肯定能做出更完善更漂亮的图来。
发布者:股市刺客,转载请注明出处:https://www.95sca.cn/archives/75040
站内所有文章皆来自网络转载或读者投稿,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。敬请谅解!