我们正在使用 Highcharts,并有一些复杂的图表,图表上大约有 75 个系列。
该系列并未在整个图表中使用,而仅在三个月范围内使用。因此,我们每年大约有 15 个系列,整个图表涵盖五年(大约 15*5 = 75 个系列)。但是 Highcharts 在其图例中显示所有 75 个图表。目标是将图例最小化为仅可见系列。我们能够确定 JS 代码中的相关系列,并且我们尝试切换相关系列的“showInLegend”标志,例如
chart.series[24].options.showInLegend = false
但没有效果。我们尝试使用重绘图表
chart.redraw()
但这没有任何作用……传说保持不变。
所以问题是:
- 是否可以根据更新的 showInLegend 选项重绘图例?
- Highcharts 中是否有机制可以根据可见系列动态更新图例?
那么只需设置showInLegend
并没有解决问题,还有一些钩子需要处理
请参阅 Halvor Strand 的回答以获取更新的方法
老伎俩但仍然有效
To Add
item.options.showInLegend = true;
chart.legend.renderItem(item);
chart.legend.render();
去除
item.options.showInLegend = false;
item.legendItem = null;
chart.legend.destroyItem(item);
chart.legend.render();
其中,item 可以是一个点或一系列
var item = chart.series[1];
动态添加删除图例 | Highchart 和 Highstock @ jsFiddle
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)