绘制图表x轴时间问题... AARGHHH

时间:2012-02-13 02:18:45

标签: javascript jquery flot

我很难将数据显示在Flot图表中,x轴作为时间轴。这是我的JSON文件的缩写副本:

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

我已经按照Flot API页面上的教程以及this one on stackoverflow

进行了操作 没有任何运气。

修改x轴时,这会使图形显示得很好,但x轴是空白的。

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

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

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

            }

基本上,我只想在x轴上显示小时(实际上是任何格式:5:00,5:00,无所谓),并且y轴与服务值相关。每个数据文件中有24个总时间戳(一天的数据值)。

你的任何帮助Flot和JavaScript / jQuery专家将不胜感激!!!

1 个答案:

答案 0 :(得分:3)

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

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

由于错误的JSON编码文件导致JSON数据出现同样的问题。 你确定你的JSON文件真的是一个JSON文件吗? 让我们尝试一下ike来测试它(例如用jquery):

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

最后一点,您的时间戳不正确,正确的时间戳就像“1328983200000”不像“1328983200”,如果您使用PHP生成JSON数据,请确保您为日期执行类似的操作: / p>

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