javascript - Flot 线图和大型 JSON 数据 blob 未格式化为 Flot API 规范

标签 javascript jquery flot

我正在使用 Flot 绘制折线图,​​我的数据集是一个相当大的 JSON blob 数组,看起来像这样(为简洁起见而被 chop ):

    [{"load_data": 5047, "url": "http://this.com", "timestamp": "2010-12-03 17:06:45", "formatted_timestamp": 1291396005000, "load_time": 4359}, 
{"load_data": 8658, "url": "https://that.com", "timestamp": "2010-12-03 17:06:24", "formatted_timestamp": 1291395984000, "load_time": 7516}, 
{"load_data": 7372, "url": "https://theother.com, "timestamp": "2010-12-03 17:06:22", "formatted_timestamp": 1291395982000, "load_time": 7372}]

因此,Flot 根据 API 文档中的示例,喜欢采用如下 JSON 格式:

  {
    label: "y = 3",
    data: [[0, 3], [10, 3]]
  }

他们希望将数据放入元组中以绘制 x、y 轴,这是可以理解的。

我的问题是如何解析上述 JSON blob 以获得“formatted_timestamp”来表示 x 轴,然后使用“load_data”来表示 y 轴?意思是创建一系列类似于FLOT json结构并将一系列值放入图表中?

最佳答案

当给定一个像您所描述的数组时,这个函数就可以解决问题:

function format(source) {
    var i, l,
        dest = [],
        row;

    for(i = 0, l = source.length; i < l; i++) { 
        row = source[i];
        dest.push([row.formatted_timestamp, row.load_data]);
    }
    return dest;
}

关于javascript - Flot 线图和大型 JSON 数据 blob 未格式化为 Flot API 规范,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4403045/

相关文章:

jquery - 简化 JavaScript 中的多个变量

jquery - 将类添加到列表中项目的前半部分

jquery - 设置系列颜色

flot - float 中的多个 x 轴刻度集

javascript - Webpack 中的热模块替换到底是什么?

javascript - 调整表格大小时如何通过在字符串中间放置省略号来 chop 字符串

javascript - 如何在 Accordion 的容器内添加滚动条?

javascript - 在 ie 8 中打印浮点图

javascript - 发生错误后,Axios “get”仍会转到 “then”

javascript - 如何将 Google 应用端点与 PhoneGap 应用集成