绘制自己组合的k线图_pyecharts 绘制参考线和策略线的K线图

1、绘制流程

1)构造Kline对象

    kline = Kline()

    添加数据

    kline.add_xaxis(xaxis_data=x_data)

    kline.add_yaxis(yaxis_data=y_data)

    全局配置

    kline.set_global_opts( 可配置内容包括:提示框(opts.TooltipOptsx)、区域缩放(opts.DataZoomOptsy)、视觉映射配置项(opts.VisualMapOpts)、坐标轴指示器配置项(opts.AxisPointerOpts)、区域选择组件配置项(opts.BrushOpts)等  

2)构造上图的Line对象

    line = Line()

    添加策略线数据,策略线数据由买卖两点组成,本文选择最小值为买入点,在最小值基础上,求出日期大于最小值日期的子集的最大值,令此最大值为卖出点。

    添加经过买卖点的两条垂直参考线。

    添加经过最大值的水平参考线。

3)kline与上图的line叠加为上图

4)构造Bar对象

5)构造下图的Line对象

     添加下图经过买卖点日期的两条垂直参考线。

6)Bar与下图Line叠加为下图

7)上下图组合为最后输出图

2、代码

import tushare as tsfrom pyecharts.faker import Fakerfrom pyecharts import options as optsfrom pyecharts.charts import Bar,Kline,Line,Grid,Tabfrom pyecharts.globals import ThemeTypeimport  pyecharts.chartsimport pandas as pddf=ts.get_hist_data('sh',start='2020-01-01') df=df.iloc[::-1]mount_data=df[['open','close','low','high']]date=list(mount_data._stat_axis.values)new_data=[]#绘制k线图所需数据,第一个为开盘价,第二个为收盘价,第三为最小值,第四为最大值for i in range(len(date)):    gum_data=[]    for j in mount_data.columns.values:        gum_data.append(mount_data.iloc[i][j])    new_data.append(gum_data)    v_data=[df['volume'][j] for j in range(len(date))]#成交量#求收盘价的最小值min=df['close'].min()#最小值对应的日期date_min=df[df['close']==min].index[0]#最小值右面的子集df_right=df[df.index>date_min]#最小值右面子集的最大值max_right=df_right['close'].max()#最小值右面子集的最大值对应的日期date_max_right=df_right[df_ri

你可能感兴趣的:(绘制自己组合的k线图)