你好,我有一个JavaScript生成CSV文件中的一个highchart:Highchart Java脚本越来越充满
<script>
function Showgraph(){
$.ajax({
url: 'Merge_files.php',
// success: function(data) {
// $('.result').html(data);
// alert('Load was performed.');
// }
});
var options = {
chart: {
renderTo: 'container',
defaultSeriesType: 'line'
},
title: {
text: 'Measurement data'
},
xAxis: {
//categories: [],
title: {
text: 'Measurement number'
},
labels: {
enable: false,
y:20, rotation: -45, allign: 'right'
}
},
yAxis: {
title: {
text: 'Retro Reflection'
}
},
series: []
};
sleep(100);
$.get('Sensor_datafull.txt', function(data) {
// Split the lines
var lines = data.split('\n');
$.each(lines, function(lineNo, line) {
var items = line.split(',');
var series = {
data: []
};
$.each(items, function(itemNo, item) {
if (itemNo == 0) {
series.name = item;
} else {
series.data.push(parseFloat(item));
}
});
options.series.push(series);
});
// Create the chart
var chart = new Highcharts.Chart(options);
})
}
<!--Sleep function to pause the Showgraph, so the fiels in Merge_files will be generated before chart -->
function sleep(milliseconds) {
var start = new Date().getTime();
for (var i = 0; i < 1e7; i++) {
if ((new Date().getTime() - start) > milliseconds){
break;
}
}
}
</script>
脚本“合并” 7个文件合并成一个大的,并创建图表。这些文件每秒都会被新的测量数据填满。该合并文件看起来像:
0.20,-517.2,-314.9,227.2,... 0.33,-228.5,-79.0,130.7,... 0.50,-286.6,-140.6,84.5, ... 0.70,-96.6,-62.6,23.0,... 1.00,-18.6,-12.4,11.6,... 1.50,-62.7,-35.9,-11.0 .... 2.00,-37.7,-24.0,-1.5,...
问题是,当文件达到一定的大小时,不能创建高图,并冻结。然后,我想知道是否有可能使得高图只能像csv中的第一个数据(是类别)和每行的500个最后数据。文件或东西?任何其他想法来解决这个问题也是受欢迎的!
预先感谢您的帮助!
您可以使用整个CSV文件构建一个'series',然后使用javascript创建该''series'的一个子集,并设置所需的多个值(例如第一个和最后一个500)。 –