pyecharts如何实现显示数据为百分比的柱状图

pyecharts显示数据为百分比的柱状图

pyecharts是做数据分析的好帮手,柱状图比较简单,网站例子不够多,一般柱状图就是直接传两组数据就搞掂了,如果想要显示数据为百分比,比如下图例子。

需要做两处调整。

1、Y轴内容

2、标签内容

查了文档,都是修改opts.LabelOpts 。

做了个例子,供大家参考

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

# encoding: utf-8

"""

@author: seakingx

@contact: hndm@qq.com

@version: 1.0

@file: doex.py

@time: 2020/3/27 0019 09:39

说明 建立百分比的柱状图

"""

from pyecharts.charts import Bar

from pyecharts import options as opts

from pyecharts.globals import ThemeType

  

def create_bar(bar_dict):

    # 建立百分比的柱状图

    bar_item = bar_dict['item']

    bar_head = bar_dict['head']

    bar_data = bar_dict['data']

    bar = (

        Bar(init_opts=opts.InitOpts(theme=ThemeType.LIGHT))

            .add_xaxis(bar_item)

            .set_global_opts(title_opts=opts.TitleOpts(title="销售情况", subtitle="占比情况"))

    )

    for i in range(len(bar_head)):

        bar.add_yaxis(bar_head[i], bar_data[i], label_opts=opts.LabelOpts(formatter="{c} %"))

    bar.set_global_opts(

            yaxis_opts=opts.AxisOpts(axislabel_opts=opts.LabelOpts(formatter="{value} %"), interval=10))

    return bar

  

  

def get_data_dict():

    # 这里获取要显示的数据 , 可以改成连接数据库

    data_a = [round(n*100,2) for n in [0.2155, 0.423, 0.351, 0.4422, 0.651, 0.722]]

    data_b = [round(n*100,2) for n in [0.1233, 0.231, 0.4522, 0.5612, 0.6667, 0.745]]

    pdt_list = ["衬衫", "羊毛衫", "雪纺衫", "裤子", "高跟鞋", "袜子"]

    data_dict= {'data':[data_a,data_b], 'head':['商家甲','商家乙'], 'item':pdt_list}

    return data_dict

  

  

if __name__=="__main__":

    data = get_data_dict()

    bar = create_bar(data)

    bar.render()

Echarts之显示百分比问题

对于使用echarts要显示百分比,要改两个地方,第一个地方时坐标轴显示为百分比的格式,第二个是让值以百分比的形式显示,如50,在图上面显示为50%。

1

2

3

4

5

6

7

8

9

10

11

yAxis: [  

        {  

            type: 'value',  

            axisLabel: {  

                  show: true,  

                  interval: 'auto',  

                  formatter: '{value} %'  

                },  

            show: true  

        }  

    ],  

第二个是改series

1

2

3

4

5

6

7

8

9

  itemStyle: {  

                normal: {  

                    label: {  

                        show: true,  

                        position: 'top',  

                        formatter: '{b}\n{c}%'  

                    }  

                }  

            },  

 

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
在堆叠柱状图显示百分比可以利用 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 轴上的数值也转为百分比

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

sinat_40572875

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值