JQPlot - 数据点没有排成蜱?

时间:2012-02-15 04:52:42

标签: jquery jqplot

我在制作这个简单的事情时遇到了麻烦。我有这个循环向我的数组添加值:

for(i = 0; i < sections; i++){
    datapointsUser[i] = [i+1, USER_NotesTaken[i]];
    datapointsAverage[i] = [i+1, AVERAGE_NotesTaken[i]];
    datapointsTopStudent[i] = [i+1, TOP_NotesTaken[i]];
}

然而,当我在jqplot上绘制图形时,数据点不会出现在x轴的整数集上。它们看起来大约在每个整数之间,尽管事实上我应该从这个循环给它们整数x值。为什么价值没有落在蜱上?我将把下面的代码放在我的图表中。谢谢!

$.jqplot('statgraph', [datapointsUser, datapointsAverage, datapointsTopStudent], {
        axes: {
            xaxis: {
                numberTicks: sections,
                tickInterval: 1,
            },
            yaxis: {
                numberTicks: 16,
            },
        },

    });

填写图表数组的代码:

// Dummy data
USER_NotesTaken = [3, 10, 4, 9, 5];
AVERAGE_NotesTaken = [7, 3, 1, 7, 9];
TOP_NotesTaken = [5, 8, 12, 13, 14];

// Sections variable is 5    
for(i = 0; i < sections; i++){
    datapointsUser[i] = [i+1, USER_NotesTaken[i]];
    datapointsAverage[i] = [i+1, AVERAGE_NotesTaken[i]];
    datapointsTopStudent[i] = [i+1, TOP_NotesTaken[i]];
}

1 个答案:

答案 0 :(得分:0)

创建数据的循环使所有数据数组具有相同的刻度数(在此特定示例中为5)。 section变量也与刻度数相同。您不需要将此信息“告诉”到图形引擎,因为它将自动从阵列生成它。

要点:

您不需要额外的xaxis信息。从numberTicks部分移除tickIntervalxaxis,您的刻度线将完美对齐。

工作代码:

这是一张对齐的图表,其中包含您提供的相同数据:

$.jqplot('statgraph',  [[[1,3],[2,10],[3,4],[4,9],[5,5]], [[1,7],[2,3],[3,1],[4,7],    
[5,9]], [[1,5],[2,8],[3,12],[4,13],[5,14]]],
{     
 axes: {
        xaxis: {

        //REMOVED EVERYTHING FROM HERE, YOU CAN REMOVE THE ENTIRE xaxis brackets.

        },
        yaxis: {
            numberTicks: 16
        }
    }
});