pyecharts学习3--多图例分开放置

pyecharts多图例分开放置

目前使用的pyecharts版本1.7.1,不支持多图例分开
但由于数据较多,需要分不同坐标轴来控制两组区间范围差异较大的数据,于是修改源码来实现该功能

效果图

左右图例分别绑定左右两条y轴数据

修改源码

legend_opts 设置可以传入列表参数(chart.py)

set_global_opts(legend_opts: types.Legend = None, # opts.LegendOpts(),)

按列表依次添加

    def _append_legend(self, name, is_selected, index=0):
        self.options.get("legend")[index].get("data").append(name)
        self.options.get("legend")[index].get("selected").update({name: is_selected})

对传入的列表配置数据进行处理

        if isinstance(legend_opts, opts.LegendOpts):
            legend_opts = legend_opts.opts
            for _s in self.options["legend"]:
                _s.update(legend_opts)
        elif isinstance(legend_opts, list):
            for i in range(len(legend_opts)):
                legend = legend_opts[i]
                if isinstance(legend, opts.LegendOpts):
                    legend = legend.opts
                self.options["legend"][i].update(legend)

对于line来说,legend 添加适当处理(line.py

self._append_legend(series_name, is_selected, yaxis_index if yaxis_index else 0)

自定义代码

.set_global_opts(legend_opts=[opts.LegendOpts(pos_left="left",legend_icon="roundRect"),
                              opts.LegendOpts(pos_left="right", legend_icon="circle")],)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值