【发布时间】:2014-06-23 13:48:10
【问题描述】:
我有四个不同的 HighChart 样条图。全部包含代表六个新英格兰州的六个系列。我想单击任何图例并在所有图表中隐藏/显示该系列。我已经尝试过 legendclickitem 但无法让它同时影响两个图表。我问的是否可行,如果可以,您能否指出正确的方向,谢谢。
答案:
使用 Paweł FusIn 代码,为了在每个图表上保留图例,我使用了以下代码。您可以单击任何图例项,它会更新所有图表。
plotOptions: {
series: {
events: {
legendItemClick: function(event) {
if (this.visible) {
$('#container1').highcharts().series[this.index].hide();
$('#container2').highcharts().series[this.index].hide();
$('#container3').highcharts().series[this.index].hide();
$('#container4').highcharts().series[this.index].hide();
}
else {
$('#container1').highcharts().series[this.index].show();
$('#container2').highcharts().series[this.index].show();
$('#container3').highcharts().series[this.index].show();
$('#container4').highcharts().series[this.index].show();
}
return false;
}
}
}
【问题讨论】:
-
这里有一个更新的答案:stackoverflow.com/questions/15926516/…(通过使用 linkedTo 属性。)
-
我不相信最近的答案实际上解决了这个问题。这个问题是关于两个实际的图表对象以及如何在它们之间共享图例。下面 Paweł Fus 的解决方案仍然很有效。使用linkedTo似乎只会在一个图表中链接两个系列。
标签: javascript highcharts legend