2014-11-03 402 views
0

我從數據庫中獲取數據,該數據庫使用php進行格式化,並作爲JSON響應返回以進行Ajax調用。每件事情都可以正常工作,數據被繪製出來。但是如果X軸包含日期,那麼沒有繪製任何東西。我使用Ajax提交開始日期和結束日期。下面是數據,我生成的響應:JQuery - 使用Flot圖從php繪製時間序列數據

[ 
    { 
    "data": [ 
     [ 
     "2014-11-02", 
     5 
     ], 
     [ 
     "2014-11-04", 
     12 
     ], 
     [ 
     "2014-11-07", 
     2 
     ], 
     [ 
     "2014-11-13", 
     21 
     ] 
    ], 
    "label": "Label1", 
    "color": 8 
    } 
] 

我的X軸:

xaxes : [ { 
      mode : "time", 
      timeformat : "%y-%m-%d", 
      color : "black", 
      axisLabel : "Date", 
      axisLabelUseCanvas : true, 
      axisLabelFontSizePixels : 12, 
      axisLabelFontFamily : 'Verdana, Arial', 
      axisLabelPadding : 10 
     }], 

我也跟着教程:http://www.jqueryflottutorial.com/how-to-make-jquery-flot-time-series-chart.html 但無法弄清楚如何從AJAX使用數據時做響應。

此外,我怎樣才能自動根據開始和結束日期劃分蜱?

+0

顯示你的'$ .plot(/ *你的代碼* /)' – user1477388 2014-11-03 18:03:35

+0

@ user1477388加入我的x軸碼 – 2014-11-03 18:14:13

回答

1

在JSON的日期需要的是一個Date對象,海軍報的時間模式的期望。我因此提出以下工作:(將字符串轉換日期Date對象傳遞給海軍報前):

var graph_json = $.parseJSON(data); 

var j, i; 
for(j=0;j<graph_json.length;j++){ 
    for(i=0;i<graph_json[j].data.length;i++){ 
     graph_json[j].data[i][0] = new Date(graph_json[j].data[i][0]); 
    } 
} 
0

看到我上面的評論。乍一看,看起來你需要將此屬性添加到您的xaxis對象:

timeformat:"%y/%m/%d"