本文主要是介绍pyecharts学习3--多图例分开放置,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
pyecharts多图例分开放置
目前使用的pyecharts版本1.7.1,不支持多图例分开
但由于数据较多,需要分不同坐标轴来控制两组区间范围差异较大的数据,于是修改源码来实现该功能
效果图
修改源码
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.optsfor _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.optsself.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")],)
这篇关于pyecharts学习3--多图例分开放置的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!