Javascript 在highcharts上操作数组以通过setData添加
我有以下数据:Javascript 在highcharts上操作数组以通过setData添加,javascript,jquery,arrays,highcharts,Javascript,Jquery,Arrays,Highcharts,我有以下数据: var data = {"categories":["GLA Age: 65+"],"series":[{"name":"Hendon","data":[11.98]},{"name":"High Barnet","data":[17.86]},{"name":"Mill Hill","data":[13.73]},{"name":"Oakleigh","data":[17.42]},{"name":"Totteridge","data":[17.76]}]}; 我需要“名称”
var data = {"categories":["GLA Age: 65+"],"series":[{"name":"Hendon","data":[11.98]},{"name":"High Barnet","data":[17.86]},{"name":"Mill Hill","data":[13.73]},{"name":"Oakleigh","data":[17.42]},{"name":"Totteridge","data":[17.76]}]};
我需要“名称”作为类别名称,因此我使用“事件>加载”将其应用于highcharts代码:
var seriesData = this.series;
var tCategories = [];
for (i = 0; i < seriesData.length; i++) {
tCategories.push(seriesData[i].name);
}
this.xAxis[0].setCategories(tCategories);
我遇到的问题是,第一批数据显示在第一个栏中:
示例如下:
创建新数组的代码([11.98,17.86,13.73,17.42,17.76])
如果我理解正确的话,这似乎太复杂了(尽管你想要的结果并不完全清楚) 无需使用
stringify
或类似的方法,也无需加载事件,就可以轻松地循环JSON并返回数据数组:
代码:
var title = rawData.categories[0];
var chartData = []
$.each(rawData.series, function(i, node) {
chartData.push({ 'name': node.name, 'y': node.data[0] })
});
然后:
series: [{
data: chartData
}]
更新的小提琴:
如果我理解正确的话,事情似乎过于复杂了(尽管你想要的结果并不完全清楚) 无需使用
stringify
或类似的方法,也无需加载事件,就可以轻松地循环JSON并返回数据数组:
代码:
var title = rawData.categories[0];
var chartData = []
$.each(rawData.series, function(i, node) {
chartData.push({ 'name': node.name, 'y': node.data[0] })
});
然后:
series: [{
data: chartData
}]
更新的小提琴: