Pyecharts绘制多图

import pyecharts.options as opts   
from pyecharts.charts import Bar, Line
 
#柱形图
bar = (
    Bar(init_opts=opts.InitOpts(width='950px', height='600px'))   #设置柱形图宽度与高度
    .add_xaxis(['2014年','2015年','2016年','2017年','2018年','2019年','2020年','2021年'])                                
    .add_yaxis( '诊疗量(万人次)', [87430, 90912,96225,101885,107147,116390,105764,120215],
               yaxis_index=1,
               label_opts=opts.LabelOpts(is_show=False),
    )
    .extend_axis(
        yaxis=opts.AxisOpts(
            name='诊疗量(万人次)', #y轴名称
            type_='value',
            min_=0,#y轴最小值:0
            max_=150000,#y轴最大值:150000
            position='left'#位于y轴左侧
        )
    )
    .extend_axis(
        yaxis=opts.AxisOpts(
            name='同比增速(%)',#y轴名称
            type_='value',
            min_=-20,#y轴最小值
            max_=20,#y轴最大值
            position='right',#位于y轴右侧
        )
    )
    #设置全局配置项
    .set_global_opts(title_opts=opts.TitleOpts(title='2014-2021年中国中医类医疗卫生机构诊疗量'),
        legend_opts=opts.LegendOpts(pos_left='40%' ),#图例距离左边边距:40%
        tooltip_opts=opts.TooltipOpts(trigger='axis', axis_pointer_type='cross'),  #提示框
        toolbox_opts=opts.ToolboxOpts(is_show=False)  # 工具箱
    )
    #图元样式配置项
    .set_series_opts(itemstyle_opts=opts.ItemStyleOpts(               
                     opacity=0.3),#设置柱形图透明度
                     color="pink",#图形的颜色
                     )
    
)
 
# 折线图
line = (
    Line()
    .add_xaxis(['2014年','2015年','2016年','2017年','2018年','2019年','2020年','2021年'])
    .add_yaxis('同比增速(%)',[7.40,4.00,5.83,5.81,5.16,8.63,-9.31,13.66],#y轴折线图数据
               yaxis_index=2,#表示y轴的索引,用于拥有多个y轴的单图表中。
               color="yellow",#图形的颜色
    )
 
)
 
#层叠组件 Overlap
bar.overlap(line).render_notebook()#渲染到notebook中

运行结果如下图:

#1、导入模块
import pyecharts.options as opts
from pyecharts.charts import Pie
 
#2、创建Pie类对象
pie= (
    Pie()
    .add("", [('20岁以下',2.2), ('20-30岁',27.9), ('31-40岁',56.2), ('41-50岁',10.9), ('51岁以上',2.8)], radius=[85, 160])   #添加数据
    .set_global_opts(
        title_opts=opts.TitleOpts(title="中药材消费者画像", pos_left="center")    #设置主标题并居中
        legend_opts=opts.LegendOpts(is_show=False)  #隐藏图例配置项
    )
    .set_series_opts(label_opts=opts.LabelOpts(formatter="{b}: {c}")) 
    #不同图表类型下的 {a},{b},{c},{d} 含义不一样,在这里饼图分别表示的是 {b}(数据项名称),{c}(数值)
)
 
#3、渲染图表
pie.render_notebook()

import pandas as pd
from pyecharts.charts import Bar
from pyecharts import options as opts
 
data = pd.DataFrame({
#准备数据
    "区域": ["2019年", "2020年", "2021年", "2022年", "2023年"],#x轴
    "总销量": [100, 100, 100, 100, 100],#y轴
    "跨国企业占比(%)": [20.3, 22.0, 23.5, 22.5, 22.3],
    "本土企业占比(%)": [79.7, 78.0, 76.5, 77.5, 77.7], 
})
 
bar = (
    
    Bar(init_opts=opts.InitOpts(width="800px", height="500px"))#指定画布大小
    .add_xaxis(data["区域"].tolist())
    .add_yaxis("总销量", data["总销量"].tolist()
    ) 
   
)
stack_bar = (
    Bar(init_opts=opts.InitOpts(width="830px", height="500px"))
    .add_xaxis(data["区域"].tolist())
    .add_yaxis("跨国企业占比(%)", data["跨国企业占比(%)"].tolist(), stack="stack1", category_gap="50%")
    .add_yaxis("本土企业占比(%)", data["本土企业占比(%)"].tolist(), stack="stack1", category_gap="50%")
   
    # 在系列设置中设置标签属性
    .set_series_opts(
        label_opts=opts.LabelOpts(is_show=False)#隐藏数据
    )
        .set_global_opts(
             title_opts=opts.TitleOpts(
                 title="全国药店中药饮片供应商占比情况"),#设置标题
    legend_opts=opts.LegendOpts())
     .render("mutiple_pie3.html")
)

from pyecharts import options as opts
from pyecharts.charts import Radar
 
v1 = [[45 ,33, 9, 6, 4, 3]]#导入数据(单个数据项的数值。)
c = (
    Radar()
    .add_schema(
        schema=[
            opts.RadarIndicatorItem(name="中成药", max_=45),#设置数据的标题以及图形最大值
            opts.RadarIndicatorItem(name="化学药", max_=45),
            opts.RadarIndicatorItem(name="中药饮片", max_=45),
            opts.RadarIndicatorItem(name="医疗机械", max_=45),
            opts.RadarIndicatorItem(name="保健品", max_=45),
            opts.RadarIndicatorItem(name="生物制品", max_=45),
        ]
    )
    .add("全国药店药品销售额占比", v1)#输入题目以及数据
    .set_series_opts(label_opts=opts.LabelOpts(is_show=True),
                    color='green',#设置图形颜色,数据点也会根据颜色变化
                     areastyle_opts=opts.AreaStyleOpts(opacity=0.3),#设置局部图形透明度
#                     area_color=rgb(128, 128, 128)
                    )
    .set_global_opts(
        legend_opts=opts.LegendOpts(selected_mode="single"),
        title_opts=opts.TitleOpts(title="全国药店药品销售额占比"),#设置左上角标题
    
    )
#     .render("radar_selected_mode.html")
)
c.render_notebook()#渲染到notebook上

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值