2017-09-24 143 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轴远离零,那么我会很高兴听到它!

但是,现在,我的解决方法就足够了!