我正在使用Highcharts来表示时间序列组.因此,从同一个体收集的数据点通过线连接,来自属于同一组的个体的数据点共享相同的颜色.Highcharts图例显示每个单独的时间序列而不是组,我有超过一百个时间序列,以这种方式隐藏和显示数据是丑陋和不切实际的.
相反,我制作了按钮并使用jQuery将它们与在时间序列中搜索匹配颜色的函数相关联,并切换每个匹配系列的可见性.
以下是一个包含小数据集的示例:http://jsfiddle.net/bokov/VYkmg/6/
以下是该示例中的系列隐藏函数:
$("#button").click(function() {
if ($(this).hasClass("hideseries")) {
hs = true;
} else {
hs = false;
}
$(chart.series).each(function(idx, item) {
if (item.color == 'green') {
if (hs) {
item.show();
} else {
item.hide();
}
}
});
$(this).toggleClass("hideseries");
});
Run Code Online (Sandbox Code Playgroud)
以上工作.问题是,我的真实数据可能有超过一百个单独的时间序列,看起来检查每个系列的颜色真的很慢.那么,有人能提出一种更有效的方法来解决这个问题吗?是否有一些内置的Highcharts方法已经这样做了?或者,我可以给jQuery一个更具体的选择器吗?
我尝试挖掘<svg>由Highcharts创建的元素,但我无法确定哪些子元素对应于图表中的系列.
谢谢.