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

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

# 创建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], yaxis_index=0, z=0,
                   color="orange")
        # 扩展坐标轴
        .extend_axis(yaxis=opts.AxisOpts(
        # 设y轴为数据轴
        type_="value", name="同比增速(%)", name_location="center", name_gap=30,
        min_=-20, 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)), ))
    # 设置y轴各属性
        .set_global_opts(
        yaxis_opts=opts.AxisOpts(
            name="诊疗量(万人次)",
            name_location="center",
            name_gap=60,
            min_=0,
            max_=130000,
            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='86%'),
        tooltip_opts=opts.TooltipOpts(trigger="axis", axis_pointer_type="cross"), ))
# 设置折线图
line_demo = (
    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, yaxis_index=1, color="Magenta",
                   # 显示标签
                   label_opts=opts.LabelOpts(is_show=False), ))

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

运行结果:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
要使用pyecharts将柱、K线折线图组合叠加,需要先创建一个空白的混合型表,然后再分别添加柱、K线折线图到这个表中。 下面是一个示例代码: ```python from pyecharts.charts import Kline, Bar, Line, Grid from pyecharts.options import AxisOpts # 定义 K线 数据 kline_data = [...] kline = Kline() kline.add('K线', kline_data) # 定义 柱 数据 bar_data = [...] bar = Bar() bar.add('柱', bar_data) # 定义 折线图 数据 line_data = [...] line = Line() line.add('折线图', line_data) # 配置 x 轴 axis = AxisOpts(is_scale=True) # 创建混合型表 grid_chart = Grid() grid_chart.add(kline, grid_opts=opts.GridOpts(pos_top='10%')) grid_chart.add(bar, grid_opts=opts.GridOpts(pos_bottom='50%')) grid_chart.add(line, grid_opts=opts.GridOpts(pos_bottom='10%')) # 渲染表 grid_chart.render('mixed_chart.html') ``` 在这个代码中,我们首先定义了 K线、柱折线图 的数据。然后,我们为每个创建了一个对象并添加数据,接着设置了 x 轴的刻度。最后,我们将这些添加到一个空白的混合型表中,并为每个添加了对应的位置参数。最后,我们将渲染好的表保存到一个 HTML 文件中。 需要注意的是,在使用混合型表时,你需要确定每个的相对位置和大小,以确保混合表的可读性和美观性。因此,你还需要对混合表的位置参数进行调整,比如 `pos_top` 和 `pos_bottom` 这些参数可以控制每个在纵向上的位置。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值