要實現實時數據更新,可以使用Plotly.js中的Plotly.relayout()和Plotly.extendTraces()方法來更新圖表。下面是一個簡單的例子,演示了如何使用這兩個方法來實現實時數據更新:
<!DOCTYPE html>
<html>
<head>
<script src="https://cdn.plot.ly/plotly-latest.min.js"></script>
</head>
<body>
<div id="plot"></div>
<script>
var trace1 = {
x: [1, 2, 3, 4, 5],
y: [10, 15, 13, 17, 20],
type: 'scatter',
mode: 'lines+markers'
};
var layout = {
title: 'Real-time Data Update'
};
Plotly.newPlot('plot', [trace1], layout);
var cnt = 5;
var interval = setInterval(function() {
var update = {
x: [[cnt]],
y: [[Math.random() * 10]]
};
Plotly.extendTraces('plot', update, [0]);
cnt++;
if(cnt === 100) {
clearInterval(interval);
}
}, 1000);
</script>
</body>
</html>
在這個例子中,我們首先創建了一個包含一條線型圖的trace和一個包含標題的layout。然后使用Plotly.newPlot()方法初始化圖表。接著,我們設置一個定時器,每隔一秒生成一個隨機數據點并使用Plotly.extendTraces()方法將數據點添加到圖表中。最后,在計數器cnt達到100時清除定時器。
通過類似這樣的方式,您可以實現實時數據更新的效果。您可以根據自己的需求調整定時器的時間間隔和數據更新的方式。