JSON呼び出しによって生成されるさまざまなグラフがいくつかあるハイチャートに問題があります。
これらのチャートの大部分では、y軸の最小値を0に設定する必要がありますが、負の値を表示する必要がある場合がいくつかあります。データに負の値がない場合にのみ、y軸の最小値が0になるようにハイチャートに指示するにはどうすればよいですか?
ありがとう
あなたが探しているオプションはsoftMin
と呼ばれ、バージョン5.0.1で導入されました。ドキュメントはそれを次のように説明しています:
軸のソフト最小値。系列データの最小値がこれより大きい場合、軸はこの最小値のままですが、系列データの最小値が低い場合、軸はフレックスしてすべてのデータを表示します。
yAxis: {
softMin: 0
}
あなたはあなたのy軸に追加することができます:
yAxis: {
title: {
text: 'Title of the y-axis'
},
min: 0 // this sets minimum values of y to 0
},
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
}
},
});
「フロア」を設定できます。これは、minの可能な最小値を定義します。負の値を追加すると、表示されなくなります! ( http://api.highcharts.com/highcharts/xAxis.floor )
yAxis: {
floor: 0
}
私はこの質問がずっと前に尋ねられたことを知っており、このプロパティは当時存在しませんでした。しかし、私はこの問題に遭遇しただけであり、他の人が検索しなくてもいいと思うでしょう。
チェックが否定的であるかどうかの独自の関数を準備し、適切な目盛りを設定できます。これを実現するには、tickPositioner http://api.highcharts.com/highcharts#yAxis.tickPositioner を使用する必要があります