pyecharts中堆叠柱形图的绘制及颜色更改

堆叠柱形图的绘制相比普通柱形图,只需要多添加几个.add_yaxis()—y轴即可。

  1. 导入模块

import pandas as pd
from pyecharts.charts import Bar
from pyecharts import options as opts
  1. 构建数据并绘制基本柱形图

此处我直接重新构建了一组数据来绘制,方便的小伙伴可以直接拿自己的数据练习。

data = pd.DataFrame({
    "区域": ["A区", "B区", "C区"],
    "总销量": [23, 32, 14],
    "上衣销量": [3, 5, 10],
    "裤子销量": [15, 5, 1],
    "鞋袜销量": [5, 22, 3]
})

data

获得如下数据:

在这里插入图片描述

接着可以先通过”总销量“绘制一个基本的柱形图。

bar = (
    Bar(init_opts=opts.InitOpts(width="900px", height="500px"))
    .add_xaxis(data["区域"].tolist())
    .add_yaxis("总销量", data["总销量"].tolist())
)

bar.render_notebook()

绘制出图形:

在这里插入图片描述

  1. 绘制堆叠图

堆叠柱形图的绘制相比普通柱形图,只需要多添加几个.add_yaxis()—y轴即可。同时,再再每个y轴的属性里添加一个参数就行。

stack_bar = (
    Bar(init_opts=opts.InitOpts(width="900px", height="500px"))
    .add_xaxis(data["区域"].tolist())
    .add_yaxis("上衣销量", data["上衣销量"].tolist(), stack="stack1")
    .add_yaxis("裤子销量", data["裤子销量"].tolist(), stack="stack1")
    .add_yaxis("鞋袜销量", data["鞋袜销量"].tolist(), stack="stack1")
    # 在系列设置中设置标签属性
    .set_series_opts(
        label_opts=opts.LabelOpts(position="inside", color="white", font_size=15)
    )
)

stack_bar.render_notebook()

得到图形:

在这里插入图片描述

接下来更改堆叠柱形图的颜色,改为渐变色:

stack_bar = (
    Bar(init_opts=opts.InitOpts(width="900px", height="500px"))
    .add_xaxis(data["区域"].tolist())
    .add_yaxis("上衣销量", data["上衣销量"].tolist(), stack="stack1", color="Turquoise")
    .add_yaxis("裤子销量", data["裤子销量"].tolist(), stack="stack1", color="LightSeaGreen")
    .add_yaxis("鞋袜销量", data["鞋袜销量"].tolist(), stack="stack1", color="DarkCyan")
    .set_series_opts(
        label_opts=opts.LabelOpts(position="inside", color="white", font_size=15)
    )
)

stack_bar.render_notebook()

只需要在每个y轴里单独设置好各自的颜色就行,得到图形:

在这里插入图片描述

绘制完之后,可以在此基础上对标签、柱形图宽度等属性进行个性化设置。