您的數據格式不能與Highchart的數據模塊一起使用,它可以加載CSV。問題是你的日期不是數字類型,所以你必須用Date.parse函數解析它。
解析數據有兩種方式,可以獲取CSV並將其轉換爲期望的CSV,並由Highchart的數據模塊讀取。另一個選擇是解析你的數據並用series.update更新你的系列。
之前它是通過使用應用到圖表,您還可以修改數據: http://api.highcharts.com/highcharts/data.parsed
解析CSV和利用數據模塊的
活生生的例子: https://jsfiddle.net/45khuo3h/
// Your input csv file
var csv = 'date, siteA, siteB' + '\n' +
'nov-1-2016, 6, 8' + '\n' +
'nov-2-2016, 7, 9';
// Modify your csv
var modifyCSV = function(csv) {
return csv.split('\n')
.map(line => line.split(',')
.map(el => {
if (el.split('-').length === 3) {
el = Date.parse(el);
}
return el;
})
.reduce((a, b) => a + ',' + b)
)
.reduce((a, b) => a + '\n' + b, '');
}
// Options
var options = {
chart: {
renderTo: 'container'
},
xAxis: {
type: 'datetime'
},
data: {
csv: modifyCSV(csv),
parsed: function() {
console.log(this);
// Modify your data here
this.columns[0][2] += 100000000;
}
}
}
// Render chart
var chart = Highcharts.chart(options);