用pyecharts模块做柱形图和折线图组合

代码如下: 

#导入库并重命名
from pyecharts import options as opts
from pyecharts.charts import Bar, Grid, Line

# 创建bar对象,并制定画布大小
bar = Bar(init_opts=opts.InitOpts(width='1200px', height='300px'))

# 插入数据
x_data = ['2014', '2015', '2016', '2017', '2018', '2019', '2020', '2021']
# 柱形图设置
bar = (
    Bar()
        # 添加x轴数据
        .add_xaxis(x_data)
        # 添加y轴数据
        .add_yaxis(
        "蒸发量",
        [87430, 90912, 96225, 101885, 107147, 116390, 105764, 120215],
        # 表示y轴的索引,用于拥有多个y轴的单图表中
        yaxis_index=0,
        z=0,
        # 设置柱子的颜色
        color="orange",
    )
        # 扩展坐标轴
        .extend_axis(
        yaxis=opts.AxisOpts(
            # 设置y轴为数据轴,value:数据轴
            type_="value",
            # 设置右边y轴的标签
            name="同比增速(%)",
            name_location="center",
            name_gap=30,
            # 设置y轴最小值
            min_=-20,
            # 设置y轴最大值
            max_=20,
            axislabel_opts=opts.LabelOpts(font_size=14),
            axisline_opts=opts.AxisLineOpts(
                linestyle_opts=opts.LineStyleOpts(color="blank")
            ),

            splitline_opts=opts.SplitLineOpts(
                is_show=True, linestyle_opts=opts.LineStyleOpts(opacity=1)
            ),
        )
    )
        .set_global_opts(
        yaxis_opts=opts.AxisOpts(
            # 设置左边y轴的标签
            name="诊疗量(万人次)",
            name_location="center",
            name_gap=60,
            # 设置y轴最小值
            min_=0,
            # 设置y轴最大值
            max_=130000,
            # 显示y轴刻度间隔,默认为1
            interval=50000,
            axislabel_opts=opts.LabelOpts(font_size=14),
            offset=0,
            # 设置刻度线
            axisline_opts=opts.AxisLineOpts(
                linestyle_opts=opts.LineStyleOpts(color="blank")
            ),

        ),
        # 设置标题
        title_opts=opts.TitleOpts(title="2014-2021年中国中医类医疗卫生机构诊疗量", pos_left="center", pos_top="top"),
        # 设置图例
        legend_opts=opts.LegendOpts(pos_left='40%', pos_bottom='89%'),
        # 设置提示框和指示器
        tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"),
    )
)
# 设置折线图
line = (
    Line()
        # 添加x轴数据
        .add_xaxis(x_data)
        # 添加y轴数据
        .add_yaxis(
        "同比增速(%)",
        [7.40, 4.00, 5.83, 5.81, 5.16, 8.63, -9.13, 13.66],
        # 设置标记的图形为三角形
        symbol='triangle',
        # 设置标记图形的大小
        symbol_size=15,
        # 设置Y轴索引为1
        yaxis_index=1,
        color="Magenta",
        # 显示标签
        label_opts=opts.LabelOpts(is_show=False),
    )
)

# 将折线图叠加在柱状图上
bar.overlap(line)
# 渲染图表
bar.render_notebook()

运行结果如下:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值