javascript - Highchart 和 json 数据

标签 javascript jquery json database highcharts

我的 JSON 看起来像这样,我想制作一个 Highchart,显示每小时的注册次数。所以我的 X 轴将是同一天和同一小时的时间戳数量的计数。

[{"data":"2016-04-11 20:18:41"},{"data":"2016-04-11 20:18:41"},{"data":"2016-04-11 12:18:40"},{"data":"2016-04-11 13:18:40"},{"data":"2016-04-11 13:18:34"},{"data":"2016-04-11 14:18:34"},{"data":"2016-04-11 15:18:34"},{"data":"2016-04-11 15:18:30"},{"data":"2016-04-11 19:18:29"},{"data":"2016-04-11 19:18:29"},{"data":"2016-04-11 20:18:18"},{"data":"2016-04-11 21:18:12"},{"data":"2016-04-11 22:18:09"},{"data":"2016-04-11 23:18:08"}];

我被困住了。 JSON 的格式似乎有误或其他原因。

$(function() {
  $.getJSON('json/json.php', function(data) {
    //console.log(data);
    // Create the chart
    $('#container').highcharts('StockChart', {
      rangeSelector: {
        selected: 1
      },
      xAxis: {
        type: 'datetime'
      },
      title: {
        text: 'test'
      },

      series: [{
        name: 'signups',
        data: data,
        turboThreshold: 0
      }]
    });
  });
});
<小时/>

编辑

我设法使我的数据如下:

[{"TS":"2016-04-12 00:00:05","COUNT":"187"},{"TS":"2016-04-12 01:00:30","COUNT":"75"},{"TS":"2016-04-12 02:00:56","COUNT":"32"},

如何将其设置为图表中的 X 和 Y 值?

最佳答案

您使用的是 Highstock,因此您的数据应以时间序列(时间、值)的形式给出。

让我们举个例子:

yourData = [{"TS":"2016-04-12 00:00:05","COUNT":"187"},{"TS":"2016-04-12 01:00:30","COUNT":"75"},{"TS":"2016-04-12 02:00:56","COUNT":"32"}....]

应该看起来像:

[[time1.TS, value1.COUNT], [time2.TS, value2.TS], [time3.TS, value3.COUNT]] // pay attention it's an array of arrays.

这个简单的函数应该能够根据需要格式化您的数据:

var formattedData = [];
for(var i = 0; i < yourData.length; i++){
    formattedData.push([ new Date(yourData[i].TS).getTime(), parseInt(yourData[i].COUNT)]);
        }

我做了一个FIDDLE ,这样你就可以看到它正在工作。

希望对你有帮助

关于javascript - Highchart 和 json 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36601457/

相关文章:

javascript - 使用 JQuery 在隐藏的 DIV 上使用 toggle() 的问题

c# - 在 C# 中将 PSObjects(或 PS 命令)转换为 JSON

json - 在 postgres 中将记录作为 json 数组加入

javascript - 你如何在 Node 中解码 gtfs protobufs

javascript - 将现有函数声明为异步?

javascript - 删除插入符号位置前的最后 x 个字符

jquery attr 在 Chrome 中不起作用?

jquery-ujs 已经加载rails

python - 将字节对象列表转换为字典

javascript - 更改单选后如何聚焦于输入字段?