2017-09-24 148 views
0

在jqplot中,爲什麼條形圖上的自動縮放比例與折線圖上的差異很大?jqplot條形圖上的Y軸縮放比例

使用完全相同的數據,我得到這兩個地塊:

enter image description here

enter image description here

我用了兩個地塊的選項有:

var bar_options = { 
axesDefaults: { labelRenderer: $.jqplot.CanvasAxisLabelRenderer }, 
seriesDefaults: { renderer: $.jqplot.BarRenderer, rendererOptions: { highlightMouseOver:false, barMargin:5, shadowOffset:1 } }, 
axes: { xaxis: { renderer: $.jqplot.CategoryAxisRenderer }, yaxis: { tickOptions:{show:false} } }, 
}; 

var line_options = { 
axesDefaults: { labelRenderer: $.jqplot.CanvasAxisLabelRenderer }, 
seriesDefaults: { rendererOptions: { smooth: true } }, 
axes: { xaxis: { min:1, max:30, tickInterval:1, pad:0 }, yaxis: { tickOptions:{show:false} } }, 
}; 

線條圖看起來非常好,但條形圖旁邊顯示的縮放比例沒有用處。

爲什麼兩個圖之間的默認縮放比例如此不同,以及如何讓條形圖上的縮放比例與線形圖相同?

編輯:

我已經創建了一個簡單的例子,具有數據如下:

[38.23, 39.33, 41.67, 40.21, 45.01, 44.47, 37.04] 

和示出的結果圖是這樣的:

enter image description here

添加Y-顯示數據從0開始。

我改變了我的陰謀代碼這個...

var home_bar_options = { 
axesDefaults: { labelRenderer: $.jqplot.CanvasAxisLabelRenderer }, 
seriesDefaults: { renderer: $.jqplot.BarRenderer, rendererOptions: { highlightMouseOver:false, barMargin:5, shadowOffset:1 } }, 
axes: { xaxis: { renderer: $.jqplot.CategoryAxisRenderer }, yaxis: { min:30, max:50 } } 
}; 

但情節不改變,完全忽略了「最小」和「最大」值,我已經爲y軸的規模進入。

這是爲什麼?

回答

0

我還沒有找到任何'正確'的方式來移動條形圖上的軸,但我設法找到一種解決方法。

我的頁面是PHP的,數據來自mysql數據庫。

因此,在獲取數據之後,在繪製條形圖之前,我會獲取最小數據值,並從所有數據中減去該值!

所以,如果我的數據是

35, 38, 36, 42, 40 

我減去35從所有的數據,給人一種新的數據集的

0, 3, 1, 7, 5 

然後,條形圖將在一個更好看的方式繪製此!

因爲我不需要看到實際的數據數字,只是趨勢,這對我來說工作正常 - 但如果您需要一個具有刻度的Y軸,則不起作用。

如果任何人有一個'適當'的方式來正確調整棒圖y軸遠離零,那麼我會很高興聽到它!

但是,現在,我的解決方法就足夠了!