#1.导入模块:
import pyecharts.options as opts
from pyecharts.charts import Bar, Line
#2.插入数据:
x_data = ['2014年','2015年','2016年','2017年','2018年','2019年','2020年','2021年'] #x轴数据
data_1 =[87430, 90912,96225,101885,107147,116390,105764,120215] #诊疗量(万人次)的数据
data_2 = [7.40,4.00,5.83,5.81,5.16,8.63,-9.31,13.66] #同比增速(%)的数据
#3.链式调用:
bar = (
Bar(init_opts=opts.InitOpts(width='1000px', height='500px')) #设置柱形图宽度与高度
.add_xaxis(xaxis_data=x_data) #添加x轴的数据
.add_yaxis(
series_name='诊疗量(万人次)', #图例名:诊疗量(万人次)
y_axis=data_1, #y轴柱形图数据
yaxis_index=1, #表示y轴的索引,用于拥有多个y轴的单图表中。
label_opts=opts.LabelOpts(is_show=False), #不显示柱形图数据
)
.extend_axis(
yaxis=opts.AxisOpts(
name='诊疗量(万人次)', #y轴名称
type_='value',
min_=0,max_=150000, #y轴最小值为0,y轴最大值为150000
position='left' #位于y轴左侧
)
)
.extend_axis(
yaxis=opts.AxisOpts(
name='同比增速(%)', #y轴名称
type_='value',
min_=-20, max_=20, #y轴最小值为-20,最大值为20
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=True) #显示工具栏
)
.set_series_opts(
itemstyle_opts=opts.ItemStyleOpts( #图元样式配置项
opacity=0.8), #设置柱形图透明度:0.8
)
)
#4.创建Line类的对象:
line = (
Line()
.add_xaxis(x_data) #添加x轴的数据
.add_yaxis(
series_name='同比增速(%)', #图例名:同比增速(%)
y_axis=data_2, #y轴折线图数据
yaxis_index=2, #表示y轴的索引,用于拥有多个y轴的单图表中。
)
)
#5.渲染柱形和折线图:
bar.overlap(line).render_notebook() #渲染柱形-折线图搭到notebook中
运行效果图如下: