我有一个数据点的数组(纯文本或json格式).数据是一次性生成的(并从OpenCPU服务器上获得,例如,见.https:/cloud.opencpu.orgocpulibrarydatasetsRmtcarsjson?https:/cloud.opencpu.orgocpulibrarydatasetsRmtcarsjson?digits=0。有了这些数据,我想知道是否有办法在网页上做一个散点图,并 "动态 "地显示这些点,即显示第一个点,然后在10秒后显示第二个点,等等......用户不应该做任何事情,而是等待整个图形显示。
我找到了怎么做。我应该多看看的。对不起,我不知道该怎么做。
感谢jsfiddle上的这个帖子。
https:/jsfiddle.netcanvasjseNkLz。
var dps = []; // dataPoints
var instance = (new Date()).getTime();
var chart = new CanvasJS.Chart("chartContainer", {
title: {
text: "Live SpO2 Data"
},
axisX: {
title: "Time",
valueFormatString: "hh:mm:ss"
},
axisY: {
title: "%SpO2",
},
data: [{
type: "spline",
xValueType: "dateTime",
dataPoints: dps
}]
});
var yVal = [0.02, 0.02, 0.02, 0.02, 0.05, 0.07, 0.06, 0.09, 0.06, -0.2, 0.9, 0.5, -0.1, 0.02, 0.02, 0.04, 0.1, 0.08, 0.03, 0.02, 0.02, 0.02, 0.02, 0.02];
var updateInterval = 1000;
var maxDataLength = yVal.length; // number of dataPoints after which the series shifts
var time = new Date();
var updateCount = 0;
var updateChart = function (count) {
count = count || 1;
for (var j = 0; j < count; j++) {
time.setSeconds(time.getSeconds() + 1);
dps.push({
x: time.getTime(),
y: yVal[updateCount % yVal.length]
});
updateCount++;
if (dps.length > maxDataLength) {
dps.shift();
}
}
chart.render();
};
// generates first set of dataPoints
updateChart(maxDataLength);
// update chart after specified time.
setInterval(function () { updateChart();}, updateInterval);