在Anaconda Prompt命令行工具下,通过pip清华镜像源安装pyecharts
请基于pyecharts,用柱形图和折线图在同一个坐标系展示数据
#导入模块
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line
x_data = ['2014年','2015年','2016年','2017年','2018年','2019年','2020年','2021年'] #x轴标签
bar = (
Bar()
.add_xaxis(x_data) #导入x轴
.add_yaxis(
"诊疗量(万人次)",
[87430, 90912, 96225, 101885, 107147, 116390, 105764, 120215], #导入数据
yaxis_index=0, #表示y轴的索引,用于拥有多个y轴的单图表中。
z=2,
color="blue",
).set_series_opts(
itemstyle_opts=opts.ItemStyleOpts( #图元样式配置项
),
)
.extend_axis(
yaxis=opts.AxisOpts(
name="诊疗量(万人次)", #柱形图y轴名称
type_="value",
position="left", #柱形图y轴在左边显示
)
).set_global_opts( #设置全局配置项
title_opts=opts.TitleOpts(title='2014-21年中医类医疗卫生机构诊疗量'), #设置柱形图的标题名称
)
.extend_axis(
yaxis=opts.AxisOpts(
type_="value",
name="同比增速(%)", #折线图y轴名称
position="right", #折线图y轴在右边显示
)
)
)
line = (
Line()
.add_xaxis(x_data) #导入x轴坐标
.add_yaxis(
"同比增速(%)",
[7.40,4.00,5.83,5.81,5.16,8.63,-9.13,13.66], #导入数据
yaxis_index=2, #表示y轴的索引,用于拥有多个y轴的单图表中。
color="pink", #折线颜色
label_opts=opts.LabelOpts(is_show=False), #不显示柱形图数据
z=3
)
)
#overlap传入的必须为直角坐标系类型图表 ,柱形图层叠折线图
bar.overlap(line)
grid = Grid()
grid.add(bar, opts.GridOpts(pos_left="10%", pos_right="10%"), is_control_axis_index=True) #调整画布距离左边10%,距右边10%
grid.render_notebook() #渲染到nontebook中展示
运行效果如图: