所以我有几个设计师的要求:
1) 允许用户通过单击图表容器外的链接来选择/取消选择所有图例项。这意味着我需要以编程方式打开或关闭图表中的所有项目,无论当前是否选择/取消选择任何项目。
2)确定在图表中选择(或启用)哪些特定的图例项,以便我们可以从选择中生成另一个图表。
我没有看到使用 API 的方法,所以我想知道是否有人提出了可能的解决方案(或两者)。
提前感谢您的任何指导。
所以我有几个设计师的要求:
1) 允许用户通过单击图表容器外的链接来选择/取消选择所有图例项。这意味着我需要以编程方式打开或关闭图表中的所有项目,无论当前是否选择/取消选择任何项目。
2)确定在图表中选择(或启用)哪些特定的图例项,以便我们可以从选择中生成另一个图表。
我没有看到使用 API 的方法,所以我想知道是否有人提出了可能的解决方案(或两者)。
提前感谢您的任何指导。
Highcharts 确实允许我们从外部切换图例状态。
series[0].hide(); series[0].show();
由 highcharts 提供,我们可以使用它来实现您要求的功能。
这是一个供您参考的小提琴http://jsfiddle.net/gfNYk/1/
series[i].visible 是属性
如果您有很多系列,则hide()和show()可能会导致非常糟糕的性能。或者,您可以在每个系列上使用setVisible()并在最后使用redraw()。
$('#uncheckAll').click(function(){
var chart = $('#container').highcharts();
var series = chart.series;
for(i=0; i < chart.series.length; i++) {
series[i].setVisible(false, false);
}
chart.redraw();
});
$('#checkAll').click(function(){
var chart = $('#container').highcharts();
var series = chart.series;
for(i=0; i < chart.series.length; i++) {
series[i].setVisible(true, true);
}
chart.redraw();
});
要确定是否选择了系列,您可以使用series.visible属性