首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用高图表制作图表,从API加载数据

如何用高图表制作图表,从API加载数据
EN

Stack Overflow用户
提问于 2020-04-28 01:27:42
回答 1查看 1.1K关注 0票数 1

我是一个新的程序员,这是我第一次使用高图表。我也有这样的代码使用highstocks库:

代码语言:javascript
复制
Highcharts.getJSON('https://gmlews.com/api/data', function(data) {
  console.log(data);
  var accelero_x = [],
    timestamp = [];
  for (var i = 0; i < data.length; i++) {
    accelero_x.push(data[i].accelero_x);
    timestamp.push(data[i].timestamp);
  }
  console.log(accelero_x);
  console.log(timestamp);
  // Create the chart
  Highcharts.stockChart('container', {

    rangeSelector: {
      selected: 1
    },

    title: {
      text: 'Accelero X'
    },

    series: [{
      name: 'Accelero X',
      data: accelero_x,
      type: 'spline',
      tooltip: {
        valueDecimals: 2
      }
    }]
  });
});

您可以在:https://jsfiddle.net/estri012/y1usoxd7/1/上看到完整的运行代码:

问题是如何根据我的时间戳制作x轴?

在正确处理x轴之后的新问题是:在我的api中,最近的一些数据是在193月。但在图表上,最新数据显示的是3月18日,而不是3月19日。实际上,在我的API中,3月18日没有一个数据。您可以在上面的URL上检查api。与此同时,之前的其他数据在图表上显示了正确的日期。这是对图表的捕捉:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-04-28 08:50:53

在这种情况下,您需要将数据转换为高级图表所需的格式--数组或objcts数组({ x,y })。

代码语言:javascript
复制
Highcharts.getJSON('https://gmlews.com/api/data', function(data) {
  var seriesData = [];

  for (var i = 0; i < data.length; i++) {
    seriesData.push([
      new Date(data[i].timestamp).getTime(),
      data[i].accelero_x
    ]);
  }

  // Create the chart
  ...
});

现场演示: https://jsfiddle.net/BlackLabel/82vqcwsr/

API参考: https://api.highcharts.com/highstock/series.line.data

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61471154

复制
相关文章

相似问题

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