2013-05-07 18 views
20

ハイチャートに問題があり、JSON呼び出しでさまざまなチャートが生成されています。負のデータがない限り、ハイチャートのy軸の最小値を0に設定します。

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

おかげ

+0

最高/正解へのリンク、あなたがHighcharts 5.0とhttps://stackoverflow.com/a/41105873/2952405 –

答えて

2

あなたが否定されているかを確認し、独自の機能を準備することができ、その後、適切なティックを設定します。これをachiveするために、あなたはあなたがあなたのy軸に追加することができますtickPositioner http://api.highcharts.com/highcharts#yAxis.tickPositioner

9

を使用する必要があります。

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

の上を使用している場合、これは常に0に分を設定します 「データに負の値がない場合にのみ、最小のy軸値を0にするようにハイチャートに指示する方法」 – MurWade

+0

パーフェクトな解決策。 UIスペースを節約する – sansid1983

7

私はあなたのチャートで、その後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 
    } 
    }, 
}); 
3

あなたはそうすることができますtは "floor"で、minの可能な最小値を定義します。負の値を追加すると、表示されません。 (http://api.highcharts.com/highcharts/xAxis.floor

yAxis: { 
    floor: 0 
} 

私はこの質問は長い時間前に頼まれている知っていると、このプロパティは、一度に存在しませんでした。しかし、私はこの問題に遭遇しました。私は他の人が検索をしなくてうれしいと思います。

3

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

軸のソフト最小値です。シリーズデータの最小値がこれよりも大きい場合、軸はこの最小値に留まりますが、最小値のシリーズデータ が小さい場合、軸はすべてのデータを表示するようにフレキシブルになります。

yAxis: { 
    softMin: 0 
} 

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

関連する問題