求会用pyecharts做下面这个图的轮播图

主要问题是数据不会加,可以参考https://gallery.pyecharts.org/#/Pie/nested_pies%E4%BB%A3%E7%A0%81

img

按这个例子改下数据及饼图生成部分即可。

from pyecharts.charts import Pie, Timeline
from pyecharts import options as opts
from random import randint

def make_Pie(inner_x_data,inner_y_data,outer_x_data,outer_y_data,pie_title):

    inner_data_pair = [list(z) for z in zip(inner_x_data, inner_y_data)]
    outer_data_pair = [list(z) for z in zip(outer_x_data, outer_y_data)]
    chart_Pie = Pie(init_opts=opts.InitOpts(width="1600px", height="800px"))
    chart_Pie.add(
            series_name="访问来源",
            data_pair=inner_data_pair,
            radius=[0, "30%"],
            label_opts=opts.LabelOpts(position="inner"),
        )
    chart_Pie.add(
            series_name="访问来源",
            data_pair=inner_data_pair,
            radius=[0, "30%"],
            label_opts=opts.LabelOpts(position="inner"),
        )
    chart_Pie.add(
            series_name="访问来源",
            radius=["40%", "55%"],
            data_pair=outer_data_pair,
            label_opts=opts.LabelOpts(
                position="outside",
                formatter="{a|{a}}{abg|}\n{hr|}\n {b|{b}: }{c}  {per|{d}%}  ",
                background_color="#eee",
                border_color="#aaa",
                border_width=1,
                border_radius=4,
                rich={
                    "a": {"color": "#999", "lineHeight": 22, "align": "center"},
                    "abg": {
                        "backgroundColor": "#e3e3e3",
                        "width": "100%",
                        "align": "right",
                        "height": 22,
                        "borderRadius": [4, 4, 0, 0],
                    },
                    "hr": {
                        "borderColor": "#aaa",
                        "width": "100%",
                        "borderWidth": 0.5,
                        "height": 0,
                    },
                    "b": {"fontSize": 16, "lineHeight": 33},
                    "per": {
                        "color": "#eee",
                        "backgroundColor": "#334455",
                        "padding": [2, 4],
                        "borderRadius": 2,
                    },
                },
            ),
        )
    chart_Pie.set_global_opts(legend_opts=opts.LegendOpts(pos_left="left", orient="vertical"))
    chart_Pie.set_global_opts(title_opts=opts.TitleOpts(title=pie_title))
    chart_Pie.set_series_opts(
            tooltip_opts=opts.TooltipOpts(
                trigger="item", formatter="{a} <br/>{b}: {c} ({d}%)"
            )
        )
    return chart_Pie
    # chart_Pie.render("nested_pies.html")




# 建立TimeLine
def create_timeline_data(val_data, html_file):
    tl = Timeline()
    for data in val_data:
        pie_item = make_Pie(data[0], data[1], data[2], data[3], data[4])
        tl.add(pie_item, "{}".format(data[4]))
    tl.render(html_file)


# 建立测试数据
inner_x_data = ["直达", "营销广告", "搜索引擎"]
outer_x_data = ["直达", "营销广告", "搜索引擎", "邮件营销", "联盟广告", "视频广告", "百度", "谷歌", "必应", "其他"]
data = []
for i in range(5):
    inner_y_data = [randint(400, 2000) for n in range(len(inner_x_data))]
    outer_y_data = [randint(100,500) for n in range(len(outer_x_data))]
    data.append([inner_x_data,inner_y_data, outer_x_data, outer_y_data,'饼图{}'.format(i + 1)])

# 建立TimeLine
create_timeline_data(data, "nested_pies.html")