flot根据时间戳显示flot中的日期

时间:2010-01-07 14:11:36

标签: jquery date graph flot

有没有人知道如何根据时间戳显示flot中的日期

<script id="source" language="javascript" type="text/javascript">
$(function () {

var d1 = [
[1262818800,100],[1262732400,100],[1262646000,100],[1262559600,100],[1262473200,100],[1262386800,100],[1262300400,100],[1262214000,100],[1262127600,100],[1262041200,100],[1261954800,100],[1261868400,100],[1261782000,100],[1261695600,100],[1261609200,100],[1261522800,95],[1261436400,110],[1261350000,110],[1261263600,110],[1261177200,100];

var d2 = [
[1262818800,23],[1262732400,23],[1262646000,23],[1262559600,23],[1262473200,23],[1262386800,23],[1262300400,25],[1262214000,25],[1262127600,25],[1262041200,25],[1261954800,25],[1261868400,25],[1261782000,25],[1261695600,25],[1261609200,25],[1261522800,25],[1261436400,10],[1261350000,10],[1261263600,10],[1261177200,10]

$.plot($("#placeholder"), [{data:d1,lines:{show: true},label:"Mountain"},{data:d2,lines:{show: true},label:"Valley"}],{yaxis: {label:"cm"}},
{xaxis: {mode:"time"
}}
);

});
</script>

4 个答案:

答案 0 :(得分:21)

我想你需要做的就是将时间戳(看起来像unix时间戳)乘以1000。

Unix时间戳将时间跟踪从1970年1月1日开始的运行总秒数。而javascript时间戳则以毫秒为单位。所以只需乘以1000就可以了。

答案 1 :(得分:4)

尝试定义'时间格式'属性,并定义float用于格式化毫秒值的模式。

xaxis:{
    mode: "time",
    timeformat: "%M:%S"
},

答案 2 :(得分:2)

我用这个:

    var options = {
    lines: { show: true },
    points: { show: true },
    xaxis: { mode: "time",  timeformat: "%m/%d/%y",   minTickSize: [1, "day"]}
};

答案 3 :(得分:0)

我刚碰到这个,我想我们都使用了同样糟糕的Flot示例。签名是:

var plot = $.plot(placeholder, data, options)

您的代码正在执行类似

的操作
var plot = $.plot(placeholder, data, xoptions, yoptions)

所以要修复它,只需改为:

$.plot(
    $("#placeholder"), 
    [{data:d1,lines:{show: true},label:"Mountain"},{data:d2,lines:{show:true},label:"Valley"}],
    {yaxis: {label:"cm"}, xaxis: {mode:"time"}}
);