jqplot水平条问题

时间:2012-07-11 22:36:01

标签: javascript jquery jqplot

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

有什么想法?

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

1 个答案:

答案 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]]

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