from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode
from pyecharts.globalsimport ThemeType
# #数据的结构
list2 =[{"value":12,"percent":12/(12+3)},# 12+3 ===> 12{"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)},# 12+3 ===> 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)},]# list2=[0.8,0.2,0.3,0.5]# list3=[0.4,0.6,0.3,0.2]
c =(# 初始化配置项(主题)
Bar(init_opts=opts.InitOpts(theme=ThemeType.MACARONS)).add_xaxis([1,2,3,4,5])# 堆积柱状图# category_gap 同一系列的柱间距离,默认为类目间距的 20%,可设固定值# gap 不同系列的柱间距离.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="left",
formatter=JsCode("function(x){return Number(x.data.percent * 100).toFixed() + '%';}"),)).render("C:/stack_bar_percent.html"))
旋转X轴标签
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.faker import Faker
from pyecharts.globalsimport ThemeType
c =(
Bar({"theme": ThemeType.MACARONS}).add_xaxis(["名字很长的X轴标签1","名字很长的X轴标签2","名字很长的X轴标签3","名字很长的X轴标签4","名字很长的X轴标签5","名字很长的X轴标签6",]).add_yaxis("商家A", Faker.values()).add_yaxis("商家B", Faker.values())#全局配置项.set_global_opts(#设置x轴 (轴标签旋转-15度(顺时针))
xaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(rotate=-15)),#标题配置项
title_opts=opts.TitleOpts(title="Bar-旋转X轴标签", subtitle="解决标签名字过长的问题"),).render("C:/bar_rotate_xaxis_label.html"))