2015-10-20 66 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++; 
    }); 
}); 
相关问题