2014-11-03 387 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"