2013-02-01 68 views
2

我想使用Highcharts以這種方式點擊圖例項目爲該特定類別啓用數據標籤。這可能嗎?我曾嘗試以下,以使datalabels沒有運氣:Highcharts - 如何通過js切換數據標籤?

chart.series[0].data.dataLabels.enabled = true; 

這裏有一個的jsfiddle我一起工作:http://jsfiddle.net/MXZgj/3/(請搜索legendItemClick,看看那裏的適用代碼)。

謝謝你的幫助!

回答

2

我最終不得不迭代系列中的每個點並啓用每個單獨的數據標籤。

series: { 
    events: { 
     legendItemClick: function(event) {     
      var selected = this.index; 
      var allSeries = this.chart.series; 

      $.each(allSeries, function(index, series) {     
       if (selected == index) { 
        $.each(series.points, function(i, point) { 
         point.update({ 
          dataLabels: { 
           enabled: true 
          } 
         }); 
        }); 
       } else { 
        $.each(series.points, function(i, point) { 
         point.update({ 
          dataLabels: { 
           enabled: false 
          } 
         }); 
        }); 
       } 
      }); 

      return false; 
     } 
    } 
} 

可以使用一些代碼清理,但工作原理很好。

2

此作品:

chart.series[0].update({ dataLabels: { enabled:true }})