9

Highchartsを使用していますが、折れ線グラフのマーカーをさまざまな色で塗りつぶしたいと思います。例:変数「a」が1の場合、マーカーを赤で塗りつぶし、それ以外の場合は緑で塗りつぶします。それは可能ですか?

コードは次のとおりです:http://jsfiddle.net/EnyCJ/1/

フォーマッターでそれをやろうとしていましたが、うまくいきません。助言がありますか?

var a=1;

plotOptions: {
 series: {
  marker: {
   fillColor: {
    formatter: function () {
      if (a == 1) {
       return 'red'
      } else {
       return 'green'
      }
    }
   },
  lineWidth: 2,
  }
 }
},
4

5 に答える 5

11

試す:

fillColor: a==1 ? "#ff0000" : "#00ff00"

于 2012-10-25T11:49:05.510 に答える
3

チャートからロジックを削除して、データを表示するためだけに使用するのはどうですか?

var a = 1,
    color = a ? 'red' : 'green';

plotOptions: {
     series: {
         marker: {
             fillColor: color,
             lineWidth: 2,
         }
     }
}
于 2012-10-25T16:12:43.790 に答える
1

Asad Saeeduddinの答えを拡張する:

私はドーナツ円グラフで dataLabels を使用していますが、提案されたソリューションは特異な状況に非常に固有のものでした。値を比較する条件付きロジックに基づいて、個々のパイ スライスのラベル テキストの色を変更したいと考えました。

検索でここにたどり着いたので、共有するだけです。

data: outerData,
dataLabels: {
    formatter:
        function () {
            if ((outerData[this.point.x].y > innerData[this.point.x].y) && (this.point.x != 0)) {
                return this.y > 0.1 ? '<span style="fill: red;">' + this.point.name + ': ' + this.y + '% ' + '</span>' : null;
            } else {
                return this.y > 0.1 ? '<span style="fill: #006400;">' + this.point.name + ': ' + this.y + '% ' + '</span>' : null;
           }
        }
    }
于 2015-12-22T21:33:37.490 に答える