pyecharts-3-绘制K线图
本文中记录一次利用pyecharts
绘制K
线图。最近从朋友那边获取到一组关于stock
的数据,于是抽空画了一下K线图,熟悉pyecharts
中K线图的画法
什么是K线
引用一段来自维基百科的解释:
K线(Candlestick chart)又称“阴阳烛”、“蜡烛线”,是反映价格走势的一种图线,其特色在于一个线段内记录了多项讯息,相当易读易懂且实用有效,广泛用于股票、期货、贵金属、数字货币等行情的技术分析,称为K线分析。
据传K线为日本江户时代的白米商人本间宗久所发明,用来记录每日的米市行情,研析期货市场。日语中K线称为“蜡烛足(日语:ローソク足)”。
蜡烛线的英文是candlestick chart,日文片假名为キャンドル スティック(KYANDORU SUTIKKU),故中文也称之为K线。
自己的理解就是根据每个股每天的:开盘价、最低价、最高价和收盘价绘制的一种走势图线,从中找出个股的规律
pyecharts格式
官网上数据的格式:
- 每天的数据在一个列表
- 全部的数据组成一个新的大列表
1 | from pyecharts import options as opts |
导入库
1 | import pymysql # 连接数据库 |
获取数据
原始数据
1 | data = [] |
时间转化
在pyecharts中绘制K线图的时候,时间格式使用的是年-月-日
的格式,所以需要先对上面的数据进行处理。
上面的数据只是字符串类型:
- 使用to_datetime()方法转化成时间类型的数据,format参数指定我们想要的格式
- 通过匿名函数将上一步的时间数据再转成最终的时间格式数据
1 | df_stock['trade_date'] = pd.to_datetime(df_stock['trade_date'], format ='%Y-%m-%d') |
划分代码和证券交易所
将股票代码和证券交易所的代号分开
使用匿名函数和分割函数进行处理,取出相应的数据,增加code
和exchange
两个字段
个股数据量
查看每个股在规定时间范围内的数据量
1 | stock_list = df_stock['code'].value_counts().reset_index().rename(columns={'index':'code','code':'number'}) |
000001-demo
以深证的000001股票为例绘制K线图,下图为数据量:
指定在某个时间段内绘制:
1 | # 使用&,不要用and |
生成列表类型数据
将open、close、low、high
的4个数据放在一个列表,代表一天的完整数据,再将每天的数据组成新的大列表。
绘图
将上面得到的完整数据导入官网的代码示例中:
1 | c = ( |
结果如下图: