您的数据格式不能与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);