2015-10-20 70 views
0

你應該知道我是Highcharts的新手,所以如果我的代碼或問題看起來很奇怪,請告訴我。當用戶點擊圖例時從圖表中刪除系列?

用戶可以將數據系列添加到圖表。

當用戶點擊數據系列的圖例時,該數據系列從圖表中隱藏,圖例變爲灰色。我想改變這種行爲,以便當用戶點擊數據系列的圖例時,該數據系列應該從圖表中完全刪除,而不僅僅是隱藏的。

我試圖通過編寫highcharts-graph.js下面的代碼:

plotOptions: { 
       line: { 

        events: { 
         legendItemClick: function() { 
          this.remove(true); 
         } 
        } 
       } 
      } 

此代碼刪除傳奇。但是,當用戶向圖表添加另一個數據系列時,重新顯示已停用數據系列的圖例。所以我相信我需要修改代碼來刪除數據系列而不是圖例。

+0

你有一個例子,例如的jsfiddle? –

+0

不幸的不是。我還不夠完善這個功能來創建功能完整的獨立示例。上面的代碼確實刪除了被點擊的圖例。但我需要它來刪除點擊的數據系列。 – user1283776

回答

3

爲避免錯誤被拋出legendItemClick功能可能會返回false。爲避免系列中使用相同名稱或混合索引,可以爲新系列設置名稱和索引。

的jsfiddle:http://jsfiddle.net/jct0msdt/

$(function() { 
    $('#container').highcharts({ 
     plotOptions: { 
      line: { 
       events: { 
        legendItemClick: function() { 
         this.remove(true); 
         return false; 
        } 
       } 
      } 
     }, 
     series: [{ 
      data: [1, 2, 3, 4, 5, 6, 7] 
     }, { 
      data: [3, 4, 5, 6, 7] 
     }, { 
      data: [2, 3, 4, 5, 6, 7] 
     }, { 
      data: [4, 5, 6, 7, 8, 9] 
     }] 
    }); 

    var i = 5, 
     chart = $('#container').highcharts(); 
    $('#button').click(function() { 
     chart.addSeries({ 
      data: [i, i + 2, i + 4], 
      index: i, 
      name: 'Series ' + i 
     }); 
     i++; 
    }); 
}); 
相關問題