ITPub博客

首页 > IT职业 > IT生活 > 中秋味的可视化大屏 【以python pyecharts为工具】

中秋味的可视化大屏 【以python pyecharts为工具】

IT生活 作者:专注的阿熊 时间:2022-09-08 11:46:21 0 删除 编辑

# 读取数据

df = pd.read_csv(" 广州酒家日线数据 .csv")

# 设置索引,将字符串格式的日期转化为时间序列的形式,这样可以很大程度上方便我们索引

df.index = pd.to_datetime(df.Date)

# 提取收盘价

Close = df.Close

# 求取 5 日简单移动平均数

Sma5 = pd.Series(0.0, index=Close.index)

for i in range(4, len(Close)):

     Sma5[i] = round(sum(Close[i-4:(i+1)])/5,2)

# 求取 10 日简单移动平均数

Sma10 = pd.Series(0.0, index=Close.index)

for i in range(9, len(Close)):

     Sma10[i] = 跟单网gendan5.comround(sum(Close[i-9:(i+1)])/10,2)

# 绘制折线图,即 5 日移动平均,和 10 日移动平均

line = (

     Line(init_opts=opts.InitOpts(width='1000px',

                                         height='800px',

                                         chart_id='1'

                                         )

     )

     .add_xaxis(df.Date['2022-8'].values.tolist())

     .add_yaxis(" 收盘价 ", Close['2022-8'].values.tolist())

     .add_yaxis(" 五日移动平均线 ", Sma5['2022-8'].values.tolist())

     .add_yaxis(" 十日移动平均线 ", Sma10['2022-8'].values.tolist())

     # 全局配置项内容

     .set_global_opts(title_opts=opts.TitleOpts(title=" 广州酒家 2022 年 8 月收盘数据折线图 ", subtitle=" 附 5&10 日 MAV 图 "),

                      yaxis_opts=opts.AxisOpts(min_='dataMin')

                      )

     .set_series_opts(

         linestyle_opts=opts.LineStyleOpts(

             width=8,

             opacity=1,)

)

)

# 绘制蜡烛图

# 这里需要把数据转化为 [[],[],...,[]] 的形式 而且,一定要注意, pyecharts 要求的数据顺序是:开 收 低 高。

data = [list(i) for i in df.loc['2022-8', ['Open', 'Close', 'Low', 'High']].values]

kline = (

     Kline(init_opts=opts.InitOpts(width='1000px',

                                     height='800px',

                                     chart_id='2',

                                     page_title=" 广州酒家 "))

     .add_xaxis(df.Date['2022-8'].values.tolist())

     .add_yaxis(" 广州酒家 ", data)

     .set_global_opts(

         xaxis_opts=opts.AxisOpts(is_scale=True),

         yaxis_opts=opts.AxisOpts(

             is_scale=True,

             splitarea_opts=opts.SplitAreaOpts(

                 is_show=True, areastyle_opts=opts.AreaStyleOpts(opacity=1)

             ),

         ),

         datazoom_opts=[opts.DataZoomOpts(pos_bottom="-2%")],

         title_opts=opts.TitleOpts(title=" 广州酒家蜡烛图 "),

     )

)

# 顺序多图

page = Page(layout=Page.DraggablePageLayout)

page.add(

     line,

     kline

)

page.render('render.html')


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69946337/viewspace-2913945/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-23

  • 博文量
    410
  • 访问量
    276766