pyecharts堆叠柱状图中显示百分比
时间: 2023-05-25 21:05:50 浏览: 748
在堆叠柱状图中显示百分比可以利用 pyecharts 中的 `formatter` 属性进行设置。
首先,需要在 `add` 方法中设置 `is_stack` 参数为 `True`,表示使用堆叠柱状图。
然后,可以通过 `add_yaxis` 中的 `label_opts` 属性设置 `formatter` 属性,实现数值转为百分比的功能。
以下是一个示例代码:
```Python
from pyecharts.charts import Bar
from pyecharts import options as opts
# 数据
data = [
{'name': 'A', 'value1': 50, 'value2': 100},
{'name': 'B', 'value1': 20, 'value2': 80},
{'name': 'C', 'value1': 80, 'value2': 120},
{'name': 'D', 'value1': 10, 'value2': 70},
]
# 创建堆叠柱状图
bar = Bar()
# 添加数据
bar.add_xaxis([x['name'] for x in data])
bar.add_yaxis('value1', [x['value1'] for x in data], stack='stack1', label_opts=opts.LabelOpts(formatter='{c}%'))
bar.add_yaxis('value2', [x['value2'] for x in data], stack='stack1', label_opts=opts.LabelOpts(formatter='{c}%'))
# 设置图表标题和 x、y 轴名称
bar.set_global_opts(title_opts=opts.TitleOpts(title='堆叠柱状图-显示百分比'),
xaxis_opts=opts.AxisOpts(name='名称'),
yaxis_opts=opts.AxisOpts(name='数量', axislabel_opts=opts.LabelOpts(formatter='{value}%')))
bar.render('stacked_bar_chart.html')
```
在上面的示例代码中,`add_yaxis` 方法中的 `label_opts` 属性的 `formatter` 值为 `{c}%`,其中 `{c}` 表示当前数值,`%` 表示转为百分比。通过设置 `axislabel_opts` 属性的 `formatter` 值为 `{value}%`,可以将 y 轴上的数值也转为百分比。
阅读全文