【发布时间】:2020-04-10 15:07:13
【问题描述】:
我正在做一个项目来复习我的 JS,我发现 Highcharts 相当具有挑战性。我所做的是设置项目,从 API 中提取当前 JSON 数据,并在地图上显示结果。当您单击一个状态时,您可以查看该状态的历史数据。如果你shift点击,你可以查看多个状态。
我的 x 轴是用每个州的日期格式化的,因为不是每个州都同时开始跟踪数据。选择多个状态时,信息不正确,因为即使它们对最近的数据点(如今)具有相同的日期,日期阵列中的第一个数据点变化。例如,如果您点击纽约,他们的第一个数据点从 3/04 开始,但如果您点击康涅狄格,第一个数据点从 3/07 开始。
有什么办法可以解决这个问题吗?我可以让我的类别从最近的数据点开始并向后工作,因此今天的数据点是并发的吗?
这是我的笔:https://codepen.io/maxpalmer/pen/rNVRzVX?editors=0010
Stackoverflow 需要我发布一些代码,所以这是我编写的函数,它将 api 数据重新组合成一个数组,用于区域图的每个状态:
for (i = 0; i < stateAbbrevs.length; i++){
var values = new Array(), categories = new Array();
// var categories = new Array();
var state = stateAbbrevs[i];
var stateObj = jsonData.filter(obj => obj.state == state);
for (x = 0; x < stateObj.length; x++) {
var value = stateObj[x].positive;
var date = formatDate(stateObj[x].date);
var name = stateNames[i];
values.push(value);
categories.push(date);
}
values.reverse();
categories.reverse();
historicData[state] = {
name: name,
data: values,
categories: categories
};
}
}```
【问题讨论】:
标签: javascript json highcharts