2

我正在尝试使用 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 数组。

有什么想法吗?

编辑:未定义的类别实际上是我自己创造的,但问题仍然没有改变。

4

1 回答 1

0

它对您不起作用的原因是,我假设,当您将图表的方向更改为水平时,您并没有相应地更改数据。因此,假设这是问题所在,图表的数据必须采用以下形式,jqPlot's 网页中的示例:

   [[[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]]

这种表示法将允许您更改图表的方向而无需担心数据格式,如下面的示例所示,其中数据保持不变只有适当的图表参数发生变化:

于 2012-07-12T08:55:10.630 回答