pyecharts中堆叠柱形图的绘制及颜色更改
堆叠柱形图的绘制相比普通柱形图,只需要多添加几个.add_yaxis()—y轴即可。
import pandas as pd
from pyecharts.charts import Bar
from pyecharts import options as opts
此处我直接重新构建了一组数据来绘制,方便的小伙伴可以直接拿自己的数据练习。
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()
绘制出图形:
堆叠柱形图的绘制相比普通柱形图,只需要多添加几个.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轴里单独设置好各自的颜色就行,得到图形:
绘制完之后,可以在此基础上对标签、柱形图宽度等属性进行个性化设置。