【发布时间】:2021-06-26 18:53:14
【问题描述】:
我有一个 JavaScript 函数,它加载一个 csv 文件并将其内容粘贴到 c3js 图表中,该函数每 10 秒重新加载一次实时数据,它看起来像这样:
function parseData(createGraph) {
Papa.parse("../csv_files/traffic.csv", {
download: true,
complete: function(results) {
createGraph(results.data);
}
});
}
function createGraph(data) {
var Arrx = ['x'];
var Arry = ['Frequency'];
var dates = [];
for (var i = 0; i < data.length-1; i++) {
if(moment(data[i][0], "DD-MM-YYYY", true).isValid()){
dates.push(data[i][0]);
}
}
var result = foo(dates);
for (var i = 0; i < result[0].length; i++){
Arrx.push(result[0][i]);
Arry.push(result[1][i]);
}
var chart = c3.generate({
size: {
width: 1050
},
data: {
x: 'x',
xFormat: '%d-%m-%Y',
columns: [Arrx,Arry]
},
axis: {
x: {
label: 'Date',
type: 'timeseries',
tick: {
format: '%d-%m-%Y'
}
},
y: {
label: 'Frequency'
}
},
bindto: '#chart'
});
}
问题是我必须在每次重新加载时加载文件,随着文件变大,它开始花费越来越多的时间,JavaScript 中有没有办法在开始时只加载一次,然后追加新日志实时到图表?
【问题讨论】:
标签: javascript c3.js