Flot图表-x轴时间问题... AARGHHH

5

我在使用Flot图表时遇到了困难,无法将数据显示在以时间轴为x轴的图表中。这是我的JSON文件的摘要副本:

{
  "label": "ServiceReport",
  "data": [[1328983200, 53], [1328986800, 53], [1328990400, 60]]
}

我遵循了Flot API页面上的教程,以及stackoverflow 上的这个

但是没有什么效果。

当修改x轴时,图表可以正常显示,但是x轴是空白的。

xaxis: { mode: "time", minTickSize: [1, "hour"]}

这显示了8个值(根据数据文件不正确),但没有图形数据:

xaxis: { mode: "time", minTickSize: [1, "hour"],
                min: (new Date("2000/01/01")).getTime(),
                max: (new Date("2000/01/02")).getTime()

            }

基本上,我只想以任何格式(例如:5:00、5 AM等)在x轴上显示小时,并将y轴与服务值相关联。每个数据文件中有24个时间戳(一天的数据)。

非常感谢您Flot和JavaScript/jQuery专家的任何帮助!

1个回答

3

首先,要显示时间,请使用:

 xaxis: { mode: "time",minTickSize: [1, "hour"],timeformat: "%H:%I:%S"}

我曾经遇到与JSON数据相关的问题,这是由于糟糕的JSON编码文件导致的。您确定您的JSON文件是真正的JSON文件吗?让我们尝试使用类似以下的方法进行测试(例如使用jQuery):

$.getJSON('yourJSONpage.php', 
    function(data) {
        testData=data.pop();
        alert(testData[0]);
});

最后一点,您的时间戳不正确,正确的时间戳应该像这样 "1328983200000" 而不是像这样 "1328983200",如果您使用PHP生成JSON数据,请确保对日期进行以下操作:

$hour=mktime($h+1,$i,$s,$m,$d,$y)*1000;

好的,问题是关于这个时间戳:*1000将其放在您的JSON页面中,它会更好地工作。并检查我的答案 :-) - Valky
完全是时间戳的问题,它需要以毫秒为单位:)。谢谢帮忙! - mynameisneo

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接