web-dev-qa-db-ja.com

負のデータがない限り、ハイチャートのy軸の最小値を0に設定します

JSON呼び出しによって生成されるさまざまなグラフがいくつかあるハイチャートに問題があります。

これらのチャートの大部分では、y軸の最小値を0に設定する必要がありますが、負の値を表示する必要がある場合がいくつかあります。データに負の値がない場合にのみ、y軸の最小値が0になるようにハイチャートに指示するにはどうすればよいですか?

ありがとう

26
Pryor74

あなたが探しているオプションはsoftMinと呼ばれ、バージョン5.0.1で導入されました。ドキュメントはそれを次のように説明しています:

軸のソフト最小値。系列データの最小値がこれより大きい場合、軸はこの最小値のままですが、系列データの最小値が低い場合、軸はフレックスしてすべてのデータを表示します。

yAxis: {
    softMin: 0
}

http://api.highcharts.com/highcharts/yAxis.softMin

10
Yoav Kadosh

あなたはあなたのy軸に追加することができます:

 yAxis: {
            title: {
                text: 'Title of the y-axis'
            },
            min: 0 // this sets minimum values of y to 0
        },
8
occulti

setExtremes を使用して関数を作成することでこれを実現しました

var setMin = function () {
  var chart = this,
  ex = chart.yAxis[0].getExtremes();

  // Sets the min value for the chart 
  var minVal = 0;

  if (ex.dataMin < 0) {
    minVal = ex.dataMin;
  }

  //set the min and return the values
  chart.yAxis[0].setExtremes(minVal, null, true, false);
}

次に、チャートで次のように呼び出します。

$('#container').highcharts({ 
  chart: {
    events: {
      load: setMin
    }
  },
});  
7
wf4

「フロア」を設定できます。これは、minの可能な最小値を定義します。負の値を追加すると、表示されなくなります! ( http://api.highcharts.com/highcharts/xAxis.floor

yAxis: {
    floor: 0
}

私はこの質問がずっと前に尋ねられたことを知っており、このプロパティは当時存在しませんでした。しかし、私はこの問題に遭遇しただけであり、他の人が検索しなくてもいいと思うでしょう。

4
Nathan Poirier

チェックが否定的であるかどうかの独自の関数を準備し、適切な目盛りを設定できます。これを実現するには、tickPositioner http://api.highcharts.com/highcharts#yAxis.tickPositioner を使用する必要があります

2