百分比堆叠柱状图

与百分比堆叠柱状图一样,绘制百分比堆叠条形图时,先计算每个分组中各系列条形面占分组条形面总长度的百分比,然后根据百分比数据绘制堆叠条形图。

Document Image
\[\]

根据给定数据绘图,编写pyECharts代码如下所示:

code.python
import pandas as pd
from pyecharts.charts import Bar
from pyecharts import options as opts
df=pd.read_excel('07 销售收入0.xlsx',engine='openpyxl',index_col=0)
df=df.apply(lambda x:x/x.sum(),axis=1).round(4)
categories = df.index.tolist()  # 索引列作为横轴
# 1. 创建百分比堆叠条形图
bar = Bar()
bar.add_xaxis(categories)
# 2. 动态添加所有数据系列
for col in df.columns[0:]:  # 从第1列开始
    bar.add_yaxis(col, df[col].tolist(),stack='stack1')
    bar.reversal_axis()
# 3. 配置图表
bar.set_global_opts(
    title_opts=opts.TitleOpts(title="百分比堆叠条形图"),
    toolbox_opts=opts.ToolboxOpts())
bar.render("barh4.html")

运行代码,生成下图。

Document Image
\[\]