条形图上的jqplot y轴刻度

时间:2017-09-24 18:25:10

标签: jqplot

在jqplot中,为什么条形图上的自动缩放与在线图表上有很大差异?

使用完全相同的数据,我得到了这两个图:

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 } }
};

但情节并没有改变,完全忽略了“最小”的情况。和' max'我为y轴刻度输入的值。

为什么会这样?

1 个答案:

答案 0 :(得分:0)

我没有找到任何适当的'在条形图上移动轴的方法,但我设法找到了一种解决方法。

我的页面是PHP格式,数据来自mysql数据库。

所以,在我获得数据之后,在绘制条形图之前,我得到最小数据值,并从我的所有数据中减去该值!

所以,如果我的数据是

35, 38, 36, 42, 40

我从所有数据中减去35,得到一个新的数据集

0, 3, 1, 7, 5

条形图然后会以更好看的方式绘制它!

因为我不需要查看实际的数据,只有趋势,这对我来说没问题 - 但是如果你需要一个带刻度的y轴,它将不起作用。

如果有人有正确的'如何正确调整条形图y轴远离零,那么我会很高兴听到它!

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