jqplot条形图上的Y轴缩放比例
问题描述:
在jqplot中,为什么条形图上的自动缩放比例与折线图上的差异很大?jqplot条形图上的Y轴缩放比例
使用完全相同的数据,我得到这两个地块:
我用了两个地块的选项有:
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]
和示出的结果图是这样的:
添加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轴的规模进入。
这是为什么?
答
我还没有找到任何'正确'的方式来移动条形图上的轴,但我设法找到一种解决方法。
我的页面是PHP的,数据来自mysql数据库。
因此,在获取数据之后,在绘制条形图之前,我会获取最小数据值,并从所有数据中减去该值!
所以,如果我的数据是
35, 38, 36, 42, 40
我减去35从所有的数据,给人一种新的数据集的
0, 3, 1, 7, 5
然后,条形图将在一个更好看的方式绘制此!
因为我不需要看到实际的数据数字,只是趋势,这对我来说工作正常 - 但如果您需要一个具有刻度的Y轴,则不起作用。
如果任何人有一个'适当'的方式来正确调整棒图y轴远离零,那么我会很高兴听到它!
但是,现在,我的解决方法就足够了!