2013-05-07 72 views
20

我遇到了一個highcharts問題,其中有許多不同的圖表是由JSON調用生成的。將highcharts的y軸最小值設置爲0,除非存在負數據

對於大多數這些圖表,我需要將最小y軸值設置爲0,但是有幾次需要顯示負值。只有在數據中沒有負值的情況下,我如何才能告訴highcharts最小y軸值爲0,這甚至可能嗎?

謝謝

+0

鏈接到最好/正確的解決方案,如果您正在使用Highcharts 5.0及以上https://stackoverflow.com/a/41105873/2952405 – 2017-08-07 11:57:15

回答

9

您可以添加到您的y軸:

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

這將始終設置最小爲0 問題問:「只有當數據中沒有負值時,我如何才能告訴highcharts最小y軸值爲0」 – MurWade 2015-10-06 00:21:25

+0

完美的解決方案。保存一些UI空間 – sansid1983 2017-05-09 18:32:38

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

你可以se 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

相關問題