flot - axis labels - monthNames错误订购?

时间:2013-06-06 05:20:46

标签: javascript jquery charts flot

在Flot中,当数据跨越年终时,xaxis.monthNames的行为方式有些奇怪吗?

我有12个月的数据,从2012年6月开始,我准备了一系列12个字符串,反映了几个月。

当渲染图形时,数据被正确显示但日期标签不正确 - 它们可能是按日期顺序而不是它们在数组中的顺序(或者可能是巧合)。

值和标签图如下所示:

enter image description here

结果图如下所示:

enter image description here

最后......使用该数据的js *如下所示:

var data1 = [
    {label: "Incidents", data: arrFakeData, points: {symbol: "circle", fillColor: "#058DC7"}, color: '#058DC7'},
];

p = $.plot($("#placeholder"), data1, {
    xaxis: {
        min: (new Date(2012, 6, 1)).getTime(),
        max: (new Date(2013, 5, 1)).getTime(),
        mode: "time",
        tickSize: [1, "month"],
        monthNames: arrMonthLabels,
        tickLength: 0,
        axisLabel: 'Month',
        axisLabelUseCanvas: true,
        axisLabelFontSizePixels: 12,
        axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif',
        axisLabelPadding: 5
    },
    yaxis: {
        axisLabel: 'Number of Incidents',
        axisLabelUseCanvas: true,
        axisLabelFontSizePixels: 12,
        axisLabelFontFamily: 'Verdana, Arial, Helvetica, Tahoma, sans-serif',
        axisLabelPadding: 5
    },
    series: {
        lines: {show: true},
        points: {
            radius: 3,
            show: true,
            fill: true
        },
    },
    grid: {
        hoverable: true,
        borderWidth: 1
    },
    legend: {
        labelBoxBorderColor: "none",
        position: "right"
    }
});

当日期跨越一个日历年时,我是否应该采取其他措施来正确订购x轴标签?


1 个答案:

答案 0 :(得分:2)

monthNames数组的大小或顺序不应与您的数据相对应;它应包含从1月到12月订购的12个月的名称。然后,时间插件会为特定日期选择正确的插件。

你的情节是不正确的,因为1341057600000(实际上是七月,而不是六月)导致它选择monthNames数组中的第七项,你提供的那一项是“Jan”而不是“Jul”。

您只需要将您的monthNames重新订购,即从1月到12月。