1

Flot では、データが年末にまたがる場合に xaxis.monthNames がどのように動作するかについて奇妙なことがありますか?

2012 年 6 月から 12 か月分のデータがあり、月を反映する 12 個の文字列の配列を用意しました。

グラフがレンダリングされると、データは正しく表示されますが、日付ラベルが正しくありません。配列内の順序ではなく、おそらく日付順になっています (または、偶然かもしれません)。

値とラベルのグラフは次のようになります。

ここに画像の説明を入力

結果のグラフは次のようになります。

ここに画像の説明を入力

そして最後に ... そのデータを使用する 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 軸ラベルの正しい順序を取得するために他にすべきことはありますか?


4

1 に答える 1

2

monthNames 配列は、サイズや順序がデータに対応することは想定されていません。1 月から 12 月までの 12 の月の名前が含まれている必要があります。時間プラグインは、特定の日付の正しいものを選択します。

1341057600000 (実際には 6 月ではなく 7 月) により、 monthNames 配列の 7 番目の項目が選択されるため、プロットは正しくありません。これは、「Jul」ではなく「Jan」です。

1 月から 12 月になるように monthNames の順序を変更するだけです。

于 2013-06-06T11:41:56.963 に答える