Flot Date Issue

时间:2011-06-27 14:16:27

标签: javascript jquery flot

我正在尝试在flot中显示日期字段:

数据:

    var data = [
            [parseInt(1309150800.0)*1000, 220],
            [parseInt(1309064400.0)*1000, 230],
    ];

剧情创作:

    $.plot($("#graph"), [ data ], {
        grid: {
            hoverable: true
        },
        xaxis: {
            mode: "time",
            timeformat: "%d.%m.%y"
        },
        yaxis: {
            mode: "number",
            tickSize: 2
        },
        series: {
            lines: { show: true },
            points: { show: true }
        }
    });

根据此网站http://tools.semsym.com/index.php?tool=timestamp&timestamp=1309150800,时间戳是2011年6月26日晚上10:00:00。 但图表看起来像是:http://i.stack.imgur.com/NUayx.png

点有点偏。第一个应该在26,但是在25,5。我玩了一些时间戳格式化,但无法将其带到特定点。

我缺少什么?

它也显示“26.06.2011”约6次。需要什么配置才能保持1?

1 个答案:

答案 0 :(得分:2)

确保设置minTickSize。以下是http://jsfiddle.net/hAXHq/的示例,其中我将minTickSize设置为1天并明确设置最小/最大值。您应该能够以编程方式设置自己的最小/最大值,具体取决于您的数据。

以下是代码:

    var data =  [
        [parseInt(1309150800.0)*1000, 220],
        [parseInt(1309064400.0)*1000, 230]
    ];

    $.plot($("#placeholder"), [ data ], {
    grid: {
        hoverable: true
    },
    xaxis: {
        mode: "time",
        timeformat: "%d.%m.%y",
            minTickSize: [1,"day"],
        min: (new Date(2011,5,25)).getTime(),
        max: (new Date(2011, 5, 28)).getTime()
    },
    yaxis: {
        mode: "number",
        tickSize: 2
    },
    series: {
        lines: { show: true },
        points: { show: true }
    }
});