pyecharts绘制柱形图折线图在同一个表上显示

一、pyecharts的安装

pycharm可以直接在Terminal终端中输入,通过pip install安装pyecharts

pip install pyecharts

二、认识配置项

        pyecharts遵循”先配置后使用”的基本原则。pyecharts options模块中包含众多关于定制图表组件及样式的配置项。按照配置内容的不同,配置项可以分为全局配置项和系列配置项。

语法格式如下:

set_global_opts(self, title_opts=opts.TitleOpts(),
      legend_opts=opts.LegendOpts(),
      tooltip_opts=None, toolbox_opts=None, brush_opts=None,
      xaxis_opts=None,yaxis_opts=None,visualmap_opts=None,
      datazoom_opts=None,graphic_opts=None,axispointer_opts=None)
 title_opts表示标题组件的配置项
legend_opts表示图例组件的配置项
tooltip_opts表示提示框组件的配置项
toolbox_opts表示工具箱组件的配置项
brush_opts表示区域选择组件的配置项
xaxis_opts,yaxis_opts表示x轴、y轴的配置项
visualmap_opts表示视觉映射组件的配置项
datazoom_opts表示数据区域缩放组件的配置项

 2、add_yaxis()方法的语法格式如下所示:

add_yaxis(self, series_name,y_axis, is_selected=True,
is_connect_nones=False,xaxis_index=None,yaxis_index=None,color=None, is_symbol_show=True,symbol=None,symbol_size=4, stack=None, 
is_smooth=False,is_step=False, is_hover_animation=True, markpoint_opts=None,markline_opts=None,tooltip_opts=None,
label_opts=opts.Label0pts (), linestyle_opts=opts.LineStyleOpts (), areastyle_opts=opts.AreaStyle0pts(), itemstyle_opts= None)

该函数常用的参数含义如下

series_name表示系列的名称,显示于提示框和图例中
y_axis 表示系列数据
xaxis_index表示x轴的索引,用于拥有多个x轴的单图表中
yaxis_index表示y轴的索引,用于拥有多个y轴的单图表中
color表示系列的注释文本的颜色
is_symbol_show表示是否显示标记及注释文本,默认为 True
symbol

表示标记的图形,可以取值为'circle'(圆形)、'rect'(矩形)、'roundRect(圆角矩形)、'triangle'

(三角形)、'diamond'( 菱形)、'pin'( 大头针)、'arrow'( 箭头)、'none'(无)

symbol_size表示标记的大小,可以接收单一数值,也可以接收形如[width,height]的数组
stack表示将轴上同一类目的数据堆叠放置
is_smooth表示是否使用平滑曲线
is_step表示是否显示为阶梯图

三、准备数据

四、代码如下

#导入模块
from pyecharts.charts import Bar, Line
from pyecharts import options as opts
 
#准备数据
x_data=["2014年","2015年","2016年","2017年","2018年","2019年","2020年","2021年"]
value_1=[87430, 90912, 96225, 101885, 107147, 116390 ,105764 , 120215]
value_2=[7.40 , 4.00 , 4.00 , 5.81 , 5.16 ,   8.63 , -9.13 ,   13.66]
bar=(
    Bar(init_opts=opts.InitOpts(width='1000px', height='500px'))
    .add_xaxis(x_data)
    .add_yaxis(
        y_axis=value_1,
        yaxis_index=1, #表示y轴的索引,用于拥有多个y轴的单图表中。
        series_name='诊疗量(万人次)',  #图例名:诊疗量(万人次)
        z=0,#因为折线图会被柱状图遮挡,所以把柱形图置底
               label_opts=opts.LabelOpts(is_show=False),
    )
    .extend_axis(
      yaxis=opts.AxisOpts(
          name='诊疗量(万人次)',# 柱形图y轴名称
          type_='value',
          position='left',# 柱形图y轴在左边显示
      )
    )
 
    .extend_axis(
      yaxis=opts.AxisOpts(
          name='同比增速(%)',# 折线图y轴名称
          type_='value',
          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)  #显示工具栏
    )
)
 
 
 
line = (
    Line()  #创建Line类的对象
         .add_xaxis(x_data) #添加x轴的数据
         .add_yaxis(
         series_name='同比增速(%)', #图例名:同比增速(%)
         y_axis=value_2,  #y轴折线图数据
         yaxis_index=2,   #表示y轴的索引
    )
)
#渲染成html网页
bar.overlap(line).render("cpk.html")

 五、运行结果

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值