2017-01-17 10 views
0

ハイチャートを使用してドーナツチャートを作成しようとしています。 onmouseoverですべてのラベルを非表示にして、選択したデータラベルを表示したいとします。私は は、これらの行を使用していることを行うことができる午前:ハイチャートにラインが表示されないのはなぜですか?

that.series.dataLabelsGroup.hide(); 
that.dataLabel.show(); 

しかし、それはまた、私は、チャートのデータ値への接続私のラインを、非表示になります。ラインがハイチャートで表示されないのはなぜですか?ここに私のコードは次のとおりです。

// Mouseover handler 
function(e) { 
    var that = this; 
    var series = this.series; 
    console.log(series); 

    for (var i = 0; i < series.data.length; i++) { 
     var point = series.data[i]; 
     console.log(point) 

     if (point == this) { 
      console.log('yes'); 
      point.update({ 
       color: series.chart.options.colors[this.index] 
      }); 
     } else { 
      point.update({ 
       color: '#CCCCCC' 
      }); 
     } 
    } 
    that.series.dataLabelsGroup.hide(); 
    that.dataLabel.show(); 

    return false; 
} 

jsfiddle http://jsfiddle.net/nyhmdtb8/11/

+0

はあなたがJsFiddleか何かのような作業例を追加してくださいでした。ありがとう! – NewbieCoder

+0

http://jsfiddle.net/nyhmdtb8/11/これを参照してください – user944513

+0

plsは一番外側のドーナツチャートを確認します.. – user944513

答えて

0

あなたは直接SVG要素を使用する必要はありませんが、あなたは点更新時に必要なすべてのデータラベルを非表示にすることができます。

表示するデータラベル:

point.update({ 
       color: series.chart.options.colors[this.index], 
       dataLabels: { 
        enabled: true 
       } 
       }); 

と非表示データラベル:

point.update({ 
       color: '#CCCCCC', 
       dataLabels: { 
        enabled: false 
       } 
       }); 

例:http://jsfiddle.net/nyhmdtb8/12/

関連する問題