基于pyecharts巧妙运用各图表,利用“并行多图”进行排布

运行结果如图显示:

圆环图:

# 1、导入需要用到的图表类和模块
from pyecharts import options as opts
from pyecharts.charts import Pie
from pyecharts.faker import Faker
from pyecharts.globals import ThemeType

 
# 2、创建圆环图实例
pie_demo = (
    Pie(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE))
    #添加数据
    .add("", [('20岁以下', 7.5), ('20-30岁', 29.9), ('31-40岁', 45.9), ('41-50岁', 13.6), ('51岁以上', 3.1)],
        center=["50%", "50%"], # 饼图圆心坐标
        radius=[100, 160]) # 饼图的半径,第一项是中间缺口的半径,第二项是整个饼图的半径
    #设置标题
    .set_global_opts(title_opts=opts.TitleOpts(title='中药材消费者画像数据'))
    )
 

# 3、渲染图表
pie_demo.render_notebook()

柱形堆积图:

# 1、导入需要用到的图表类和模块
from pyecharts import options as opts
from pyecharts.charts import Bar
from pyecharts.commons.utils import JsCode
from pyecharts.globals import ThemeType
 
# 2、准备数据
list1 = [
    {"value": 20.3, "percent": 20.3 / (20.3 + 79.7)},
    {"value": 22.0, "percent": 22.0 / (22.0 + 78.0)},
    {"value": 23.5, "percent": 23.5 / (23.5 + 76.5)},
    {"value": 22.5, "percent": 22.5 / (22.5 + 77.5)},
    {"value": 22.3, "percent": 22.3 / (22.3 + 77.7)},
]
 
list2 = [
    {"value": 79.7, "percent": 79.7 / (20.3 + 79.7)},
    {"value": 78.0, "percent": 78.0 / (22.0 + 78.0)},
    {"value": 76.5, "percent": 76.5 / (23.5 + 76.5)},
    {"value": 77.5, "percent": 77.5 / (22.5 + 77.5)},
    {"value": 77.7, "percent": 77.7 / (22.3 + 77.7)},
]
 
# 3、绘制柱形堆积图实例
bar = (
    Bar(init_opts=opts.InitOpts(theme=ThemeType.VINTAGE))
    .add_xaxis([2019, 2020, 2021, 2022, 2023])
    .add_yaxis("跨国企业占比", 
               list1, 
               stack="stack1", 
               category_gap="50%") 
    .add_yaxis("本土企业占比", list2, stack="stack1", category_gap="50%")
    .set_series_opts(
        label_opts=opts.LabelOpts(
            position="right", 
            rotate=10, 
            formatter=JsCode(
                "function(x){return Number(x.data.percent * 100).toFixed() + '%';}"
            ),
        )
    )
    .set_global_opts(title_opts=opts.TitleOpts(title='全国药店中药饮片供应商占比情况'))
)
 
# 4、渲染图表
bar.render_notebook()

 

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值