我正在尝试使用jqplot设置水平条形图,如下所示:
var plot1 = $.jqplot('graph', [gData], {
seriesDefaults: {
renderer:$.jqplot.BarRenderer,
rendererOptions: {
barDirection: 'horizontal'
}
},
axes: {
yaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
ticks: gTicks
}
}
});
此代码适用于垂直条,例如:
var plot1 = $.jqplot('graph', [gData], {
seriesDefaults: {
renderer:$.jqplot.BarRenderer
},
axes: {
xaxis: {
renderer: $.jqplot.CategoryAxisRenderer,
ticks: gTicks
}
}
});
但是当我把它弄成水平时,突然间它们不再与蜱虫对齐。例如,对于某些刻度,可能存在两个或更多个重叠条。而对于一些人来说,可能根本就没有。最后,还有一个额外的“未定义”刻度,似乎有很多条重叠。
gData和gTicks都是javascript数组。
有什么想法?
编辑:未定义的类别实际上是我自己创建的,但问题仍未改变。
答案 0 :(得分:0)
它不适合您的原因是,我认为,在将图形的方向更改为水平时,您不会相应地更改数据。因此,假设这是问题,图表的数据必须采用以下形式as in the example at jqPlot
's webpage:
[[[2,1], [4,2], [6,3], [3,4]],
[[5,1], [1,2], [3,3], [4,4]],
[[4,1], [7,2], [1,3], [2,4]]]
您还可以使用值数组表示法(如下),与上面的(点数组)相反来表达一个系列:
[[200, 600, 700, 1000],
[460, -210, 690, 820],
[-260, -440, 320, 200]]
这种表示法允许您更改图表的方向而不必担心数据格式,如下面的示例所示,其中数据保持不变,只有适当的图形参数发生变化: