数据资料
年份(年) | 诊疗量(万人次) | 同比增速(%) |
---|---|---|
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 import options as opts from pyecharts.charts import Bar, Line x_year = ['2014年', '2015年', '2016年', '2017年', '2018年', '2019年', '2020年', '2021年'] # x轴标签 y_num_left = [87430, 90912, 96225, 101885, 107147, 116390, 105764, 120215] # 诊疗量 y_speed_right = [7.40, 4.00, 5.83, 5.81, 5.16, 8.63, -9.13, 13.66] # 同比增速
导入模块前需要下载pyecharts包到python安装文件夹下的Lib中的site-packages里。首先打开site-packages, 然后在上面搜索栏输入cmd并回车打开命令行模式,然后输入以下指令:
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple pyecharts
绘制柱形图
bar = ( Bar() .add_xaxis(x_year) # 导入x轴 .add_yaxis( series_name="诊疗量(万人次)", # 柱形图图例名 y_axis=y_num_left, # 柱形图数据 yaxis_index=0, # 表示y轴的索引,用于拥有多个y轴的单图表中。 z=0 # 因为折线图会被柱状图遮挡,所以此处把柱状图置底 ) .extend_axis( yaxis=opts.AxisOpts( name="诊疗量(万人次)", # 柱形图y轴名称 type_="value", position="left", # 柱形图y轴在左边显示 axisline_opts=opts.AxisLineOpts( linestyle_opts=opts.LineStyleOpts(color="#d14a61 ") # 轴名称颜色 ), ) ).set_global_opts( # 设置全局配置项 title_opts=opts.TitleOpts(title='2014-2021年中国中医类医疗卫生机构诊疗量'), # 标题名称 legend_opts=opts.LegendOpts(pos_left='45%'), # 图例距离左边边距:40% tooltip_opts=opts.TooltipOpts(trigger='axis', axis_pointer_type='cross'), # 显示提示框组件 toolbox_opts=opts.ToolboxOpts(is_show=True) # 显示工具栏 ) .extend_axis( yaxis=opts.AxisOpts( type_="value", name="同比增速(%)", # 折线图y轴名称 position="right", # 折线图y轴在右边显示 ) ) )
上面的方法及参数更详细的用法可以参考官方文档,文档讲的很清楚的,如果有不懂的,可以在评论区留言,小编看到会回复的。下面是官方文档的网址:
图表 API - pyecharts - A Python Echarts Plotting Library built with love.
绘制折线图
line = ( Line() .add_xaxis(x_year) # 导入x轴 .add_yaxis( series_name="同比增速(%)", # 折线图图例名称 y_axis=y_speed_right, # 折线图数据 yaxis_index=2, # 表示y轴的索引,用于拥有多个y轴的单图表中。 label_opts=opts.LabelOpts(is_show=False), # 不显示柱形图数据 ) )
渲染到pycharm中显示图表
bar.overlap(line).render()
这里需要注意的是如果在anacondas中运行,需要改成如下代码
bar.overlap(line).render_notebook()
运行效果图