首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >JQuery -使用Flot图表从php绘制时间序列数据

JQuery -使用Flot图表从php绘制时间序列数据
EN

Stack Overflow用户
提问于 2014-11-03 18:00:38
回答 2查看 1.1K关注 0票数 0

我从数据库中获取数据,该数据库使用php格式化,并作为Ajax调用的JSON响应返回。每样东西都工作得很好,数据都被绘制出来了。但是如果X轴包含日期,则不会绘制任何图。我使用Ajax提交开始日期和结束日期。以下是我生成的作为响应的数据:

代码语言:javascript
运行
复制
[
  {
    "data": [
      [
        "2014-11-02",
        5
      ],
      [
        "2014-11-04",
        12
      ],
      [
        "2014-11-07",
        2
      ],
      [
        "2014-11-13",
        21
      ]
    ],
    "label": "Label1",
    "color": 8
  }
]

我的x轴:

代码语言:javascript
运行
复制
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响应中的数据时,我想不出如何使用它。

此外,如何根据开始日期和结束日期自动划分滴答?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-11-03 19:21:22

JSON中的日期需要是flot期望在时间模式下的date对象。因此,下面对我起了作用:(在传递到flot之前将字符串日期对象转换为date对象):

代码语言:javascript
运行
复制
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]);
    }
}
票数 1
EN

Stack Overflow用户

发布于 2014-11-03 18:05:19

见上面我的评论。乍一看,您需要将此属性添加到xaxis对象中:

代码语言:javascript
运行
复制
timeformat:"%y/%m/%d"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26720134

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档