我在使用 HighCharts (StockChart) 创建的图表时遇到了问题,更准确地说,我遇到了不适用于某些数据系列且默认设置为 1970 年的日期的问题。 我从 ajax 请求获取数据,并使用 Highchart 格式创建数据系列,如下所示:
data.forEach(element => {
var d = new Date(Date.parse(element[0]));
console.log("d : " + d);
timestampData.push([d, element[1]]);
});
console.log(timestampData);
timestampData = timestampData.sort((a, b) => a[0] - b[0]);
chart.series[0].setData(timestampData, true);
这是两种情况的结果,日期格式完全相同,但日期适用于一个系列,但不适用于另一个系列
Here the date is to 1970 but when can see the date result in console is to 2019
这很奇怪,因为这两个系列没有做任何不同的事情,并且转换为日期格式对于这两个系列来说是有好处的
最佳答案
关于记录的日期,在不知道元素迭代器的值的情况下很难进行调试,但 Date.parse() 可能会产生不明确的结果,具体取决于其参数的格式。
一般来说,我的建议是使用 js 毫秒时间戳而不是 Date 对象,如下所示:
data.forEach(element => {
var d = new Date(Date.parse(element[0]));
timestampData.push([d.valueOf(), element[1]]);
});
它更加通用,highcharts 对此 react 良好。
关于javascript - Highchart 日期不适用于某些数据系列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60074434/