用pyecharts 实现按时间线轮播数据饼图

上次做了一个轮播柱状图的例子

现在做一个饼图的例子 , 例子代码基于 pyecharts 1.7 ,如果是高版本, 要改对应的函数。

Python 3.7.3
pyecharts Version: 1.7.1

完成后,大概就长这个样子

用pyecharts 实现按时间线轮播数据饼图

 

上代码   , pie_base 是建一个pie 对象。 create_timeline_data是建立一个轮播图。         

# encoding: utf-8
"""
@author: 陈年椰子
@contact: hndm@qq.com
@version: 1.0
@project:test 
@file: pye_test2.py
@time: 2022-1-13 11:02

说明
"""

from pyecharts.charts import Pie, Timeline
from pyecharts import options as opts
from random import randint
def pie_base(p_title, p_list,pw="800px", ph="600px") -> Pie:
    c = (
        Pie(init_opts=opts.InitOpts(width=pw,height=ph))
        .add("", p_list)
        .set_global_opts(title_opts=opts.TitleOpts(title=p_title),
                             legend_opts=opts.LegendOpts(orient="vertical", pos_left="80%", pos_top="20%"))
    )
    return c

def create_timeline_data(val_data, html_file):
    tl = Timeline()
    for data in val_data:
        pie_item = pie_base(data[0],data[1])
        tl.add(pie_item, "{}".format(data[0]))
    tl.render(html_file)


attr = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]

data = []
for i in range(5):
    data.append(['pie00{}'.format(i+1),zip(attr,[randint(10,30) for n in range(len(attr))])])

# for d in data:
#     print(d)
create_timeline_data(data, "pie_test.html")

上一篇:springcloud-gateway转发websocket


下一篇:springboot之启动原理解析及源码阅读