我用这样的日期和值初始化 highchart:
series: [{
name: 'Tokyo',
data:
[
[Date.parse("01/02/2017"),11],
[Date.parse("02/02/2017"),22],
]
},{
name: 'Tehran',
data:
[
[Date.parse("01/02/2017"),33],
[Date.parse("02/02/2017"),44],
]
}]
In above example
chartArray
is successfully added to HighChart.
现在我想在图表中设置新数据,我使用 HighChart.series[0].setData()
方法来执行此操作。
JS:
$('#btnUpdate').('click', function(){
$.post('/Reporst/GetReportsJson/', data, function (dataR) {
var chartArray = []; //for chart value
var dateArray = []; // for chart date, X Axis
for (var i in dataR) {
for (var ii in dataR[i].finalChart) {
dateArray.push(dataR[i].finalChart[ii].date1);
chartArray.push(parseInt(dataR[i].finalChart[ii].value));
}
HighChart.series[i].setData(chartArray);
dateArray = []; chartArray = [];
}
})
使用此代码,我只将新数据
设置为图表,我的问题是:如何设置新日期
、新数据
和图表的新标签
?
最佳答案
系列的数据由一个数组组成,每个数据点包含一个包含两个元素的数组,其中日期作为第一个元素(在您的情况下),值作为第二个元素,如您在代码的第一部分。
data:
[ // Data is an array
[Date.parse("01/02/2017"),11], // Each point is an array too
[Date.parse("02/02/2017"),22],
]
因此,当您填充 chartArray
以执行 setData()
时,它应该具有相同的格式,如下所示:
$('#btnUpdate').('click', function(){
$.post('/Reporst/GetReportsJson/', data, function (dataR) {
var chartArray = []; //for chart value
for (var i in dataR) {
for (var ii in dataR[i].finalChart) {
var date = dataR[i].finalChart[ii].date1;
var value = parseInt(dataR[i].finalChart[ii].value);
chartArray.push([Date.parse(date), value]); // One array with [date, value] per point, as stated above
}
}
HighChart.series[i].setData(chartArray);
chartArray = [];
}
})
关于javascript - HighChart 设置新数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42386574/