附录:
表1. 2014-2021年中国中医类医疗卫生机构诊疗量
年份(年) | 诊疗量(万人次) | 同比增速(%) |
2014 | 87430 | 7.40 |
2015 | 90912 | 4.00 |
2016 | 96225 | 5.83 |
2017 | 101885 | 5.81 |
2018 | 107147 | 5.16 |
2019 | 116390 | 8.63 |
2020 | 105764 | -9.13 |
2021 | 120215 | 13.66 |
以上是作图所需要用到的数据
示例代码:
#导入库
from pyecharts.charts import Bar, Line
from pyecharts.faker import Faker
from pyecharts import options as opts
利用Pyecharts创建柱状图
# 准备数据
x_data = ['2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021']
v1 = [87430,90912,96225,101885,107147,116390,105764,120215]
v2 = [7.40,4.00,5.83,5.81,5.16,8.63,-9.13,13.66]
链式调用
指的是简化同一对象多次访问属性或调用方法的编码方式,以避免多次重复使用同一个对象变量,使代码变得简洁易懂。
bar = (
Bar()
.add_xaxis(x_data) #调用add_xaxis()和add_yaxis()为柱形图添加x轴和y轴数据
.add_yaxis("诊疗量",#series_name:系列的名称,显示于提示框和图例中
v1, #y_axis:系列的数据
z=0, #在这里面加z=0,就可以让折线图在柱形图上面
color="pink") #稍微修改下颜色
.extend_axis(
yaxis=opts.AxisOpts #坐标轴配置项
( name="同比增速(%)",
min_= -20, #前面一定要添加下划线,否则会报错
max_= 20,
axislabel_opts=opts.LabelOpts(formatter="{value}%"), #标签配置项
axisline_opts=opts.AxisLineOpts #坐标轴轴脊配置项
(
linestyle_opts=opts.LineStyleOpts(color="pink")#线条样式配置项
),
)
)
.set_series_opts(label_opts=opts.LabelOpts(is_show=True))#显示柱形图标签
.set_global_opts #若要设置全局配置项,要传入set_global_opts()方法
(
yaxis_opts=opts.AxisOpts(
name="诊疗量(万人次)",
axisline_opts=opts.AxisLineOpts(
linestyle_opts=opts.LineStyleOpts(color="pink")
)),
title_opts=opts.TitleOpts(title="柱形折线融合图"), #标题组件的配置项
)
)
以上每个类都可以通过与之同名的构造方法创建实例,若pyecharts需要为图表设置全局配置项,则需要将全局配置项传入set_global_opts()方法。
以上每个类都可以通过与之同名的构造方法创建实例,若pyecharts需要为图表设置系列配置项,则需要将系列配置项传入add()或add_xx()方法。
创建折线图
line = Line().add_xaxis(x_data).add_yaxis(
"同比增速", #series_name:系列的名称,显示于提示框和图例中
v2, #y_axis:系列的数据
yaxis_index=1) #y轴的索引,用于拥有多个y轴的单图表
渲染图表,提示框配置项和图例配置项默认启动
render_notebook()方法无须接入任何参数
bar.overlap(line)
bar.render_notebook()#直接渲染到notebook
运行如下: