在Highstock中在x轴上绘制数据

时间:2018-07-28 11:51:35

标签: javascript graph highcharts

我目前正在尝试绘制通过HTTP请求收到的一些数据。我遇到的问题是the x-axis doesn't plot the timestamp correctly because it it's in Unix format。我已经在SO上阅读了其他类似的问题,例如:Example One

问题是我没有传递对象,而是直接传递了Unix time data。将鼠标悬停在图表上时,您会看到x-axis不能正确显示日期和小时。

以下是我当前图表的小提琴:Graph Fiddle

1 个答案:

答案 0 :(得分:0)

由于您实际上有datetime个值,因此使用category来显示它们有点不合时宜,并且如果它们之间的间距不均匀,也不会正确显示点之间的间隙。

您可以将两个数组合并成对,然后将其作为datetime轴的适当X-Y值提供给该系列。您还必须将datetime的值乘以1000,以得到Highcharts期望的毫秒数。

例如(JSFiddle),合并:

dataArray.push(selectedData);
timeDataArray.push(selectedTime);

var mergedArray = timeDataArray.map(function(e, i) {
    return [e*1000, dataArray[i]];
});

轴和系列:

xAxis: {
    type: 'datetime'
},
series: [{
    name: 'AAPL',
    data: mergedArray
}]