2013-07-31 58 views
0

我有一個包含多個系列元素的折線圖。添加將所有系列隱藏到折線圖

該圖表確實允許我單擊圖例中的每個系列來隱藏它,但是我想添加一個額外的項目,單擊時會隱藏圖表中的所有系列行。

有人可以解釋我將如何實現這一目標嗎?

感謝

回答

0

添加一個按鈕,或者你喜歡的東西。請遵循highcharts自己的示例小提琴。 http://jsfiddle.net/gh/get/jquery/1.7.2/highslide-software/highcharts.com/tree/master/samples/highcharts/members/series-hide/

var chart = $('#container').highcharts(), 
    $button = $('#button'); 
$button.click(function() { 
    var series = chart.series[0]; 
    if (series.visible) { 
     series.hide(); 
     $button.html('Show series'); 
    } else { 
     series.show(); 
     $button.html('Hide series'); 
    } 
} 
+0

這方面的適應工作出色,我,謝謝。 – berimbolo

0

在情況下,當你隱藏所有系列,您可以通過addSeries()功能添加額外的系列。

+0

感謝塞巴斯蒂安,這更吸引我,但從我需要添加一些系列數據等東西的外觀時,我真的只關心只是系列鏈接,我可以稱之爲「清除所有」,所以我去按鈕選項在我的圖表上。 – berimbolo

+0

所以你需要一個隱藏所有系列的按鈕,並添加新的系列?或者我錯了? –

+0

嗨Sebastien,我只是想要像上面的例子一樣隱藏所有系列按鈕,只是我認爲你已經證明可以通過添加額外的系列鏈接來完成此操作。我不想爲此添加數據,只是爲了讓系統的其餘部分'on \ off'顯示爲'全部清除',而不是實際與一系列數據鏈接。 – berimbolo

0

你可以試試這個:

$('.selectDeselect input').click(function() { 
if (chart.series[0].visible) { 
    for (var i = 0; i < chart.series.length; i++) { 
      chart.series[i].hide(); 
      } 
} else { 
    for (var i = 0; i < chart.series.length; i++) { 
      chart.series[i].show(); 
      } 
} 

})