4

Highcharts では、dataLabel フォーマッターを使用して、ゼロ値に対して空の文字列値を返しています。これにより、ゼロ値のラベルが効果的に非表示になります。ただし、円グラフでは、スライスの値がゼロであっても、各円スライスを指すガイドラインがあります。DOM 要素を直接操作しない限り、これらのガイドラインを削除することはできないようです。ユーザーが操作したフィルター基準に基づいてチャートを動的に更新しているため、空のパイ スライスをチャートに保持したいのですが、空のパイ スライスを指すガイドラインを非表示にしたいと考えています。

ハイチャートを構成して、空のパイ スライスを指すガイドラインを削除する方法を知っている人はいますか? 以下のフォーマッタを使用して、ラベル自体をクリアできます。

formatter: function ()
{
   var y = this.y;
   if (y == 0)
     return "";
   ...
}
4

3 に答える 3

2

あなたは使用しようとすることができます:

 if(this.y == 0)
                            return null    
                        else
                            return this.y
于 2013-04-09T13:08:49.523 に答える
2

フォーマッタ関数が表示する値を評価しているとき、コンテキストはガイドライン パス要素にアクセスできます。フォーマッターに次の変更を加えることで、ガイドラインを非表示にすることができました。

formatter: function ()
{
  var y = this.y;
  //Hide the labels for empty pie slices
  if (y == 0)
  {
    //If there is a pie chart label guideline, hide it
     if (this.point.connector)
        $(this.point.connector.element).attr("stroke", "#FFFFFF");
    return "";
  }
  //If the label guideline was previously hidden, show it
  if (this.point.connector)
     $(this.point.connector.element).attr("stroke", "#000000");

  ...
 }
于 2013-04-10T12:35:08.150 に答える
0

コネクタ幅を 0 にします。

dataLabels: {
    connectorWidth: 0,
    ...
}
于 2016-06-23T23:55:28.063 に答える