导入需要用到的图表类和模块(整个pyecharts都是面向对象的方法)
from pyecharts.charts import Bar, Line
from pyecharts.faker import Faker
from pyecharts import options as opts
准备数据
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="#5793f3") #稍微修改下颜色
.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="#d14a61")#线条样式配置项
),
)
)
.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="#5793f3")
)),
title_opts=opts.TitleOpts(title="柱形折线融合图"), #标题组件的配置项
)
)
创建折线图实例
line = Line().add_xaxis(x_data).add_yaxis("同比增速", #series_name:系列的名称,显示于提示框和图例中
v2, #y_axis:系列的数据
yaxis_index=1)#y轴的索引,用于拥有多个y轴的单图表
渲染图表,提示框配置项和图例配置项默认启动
bar.overlap(line)
bar.render_notebook()#直接渲染到notebook
渲染结果如下: