原来pyecharts可以循环叠加的:d.add_yaxis(“商家B”, [15, 25, 16, 55, 48, 8])
def page_draggable_layout(request):
list2 = [
{"value": 12, "percent": 12 / (12 + 3)},
{"value": 23, "percent": 23 / (23 + 21)},
{"value": 33, "percent": 33 / (33 + 5)},
{"value": 3, "percent": 3 / (3 + 52)},
{"value": 33, "percent": 33 / (33 + 43)},
]
list3 = [
{"value": 3, "percent": 3 / (12 + 3)},
{"value": 21, "percent": 21 / (23 + 21)},
{"value": 5, "percent": 5 / (33 + 5)},
{"value": 52, "percent": 52 / (3 + 52)},
{"value": 43, "percent": 43 / (33 + 43)},
]
c = (
Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))
.add_xaxis([1, 2, 3, 4, 5])
.add_yaxis("product1", list2, stack="stack1", category_gap="50%")
.add_yaxis("product2", list3, stack="stack1", category_gap="50%")
.set_series_opts(
label_opts=opts.LabelOpts(
position="right",
formatter=JsCode(
"function(x){return Number(x.data.percent * 100).toFixed() + '%';}"
),
)
)
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-基本示例1", subtitle="我是副标题",pos_right="80%"),
legend_opts=opts.LegendOpts(pos_right="80%"),
)
)
# d = (
# Bar()
# .add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
# .add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
# .add_yaxis("商家B", [15, 25, 16, 55, 48, 8])
# .set_global_opts(
# title_opts=opts.TitleOpts(title="Bar-基本示例2", subtitle="我是副标题",pos_left="80%"),
# legend_opts=opts.LegendOpts(pos_left="80%"),
# )
# )
d = (
Bar()
.add_xaxis(["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"])
.add_yaxis("商家A", [5, 20, 36, 10, 75, 90])
.set_global_opts(
title_opts=opts.TitleOpts(title="Bar-基本示例2", subtitle="我是副标题",pos_left="80%"),
legend_opts=opts.LegendOpts(pos_left="80%"),
)
)
d.add_yaxis("商家B", [15, 25, 16, 55, 48, 8])
grid = (
Grid()
.add(c, grid_opts=opts.GridOpts(pos_right="80%"))
.add(d, grid_opts=opts.GridOpts(pos_left="80%"))
)
return HttpResponse(grid.render_embed())