Ich habe 2 Linien in Form von Wellen in x-y axis
aufgetragen zufällig generierten Daten basierend auf und zeige ich Kreise auf den Wellen der data points
bezeichnet auf es.wie Kreise (Datenpunkte) in d3.js bewegen
Basierend auf setInterval of 200 ms
, ich bin die Originaldaten zu aktualisieren und die Linien (Wellen) nach links bewegen, aber das Problem ist, dass die nur Kreise, die in dem Anfangsintervall gibt es bewegen und für die 2. Intervall weiter zeigen sich die Kreise nicht auf den Wellen.
siehe jsfiddle für den laufenden Code: https://jsfiddle.net/rajatmehta/tm5166e1/10/
hier ist der Code:
chartBody.append("path") // Add the valueline path
.datum(globalData)
.attr("id", "path1")
.attr("class", "line")
.attr("d", valueline);
chartBody.selectAll(null)
.data(globalData)
.enter()
.append("circle")
.attr("class", "dot1")
.attr("r", 3)
.attr("cx", function(d) {
console.log(d);
return x(d.timestamp);
})
.attr("cy", function(d) {
return y(d.value);
});
chartBody.selectAll(null)
.data(globalDataNew)
.enter()
.append("circle")
.attr("class", "dot2")
.attr("r", 3)
.attr("cx", function(d) {
return x(d.timestamp);
})
.attr("cy", function(d) {
return y(d.value);
});
chartBody.append("path") // Add the valueline path
.datum(globalDataNew)
.attr("id", "path2")
.attr("class", "line")
.attr("d", valueline2);
eine Ahnung, wie das zu tun?
es funktioniert, aber es gibt eine gewisse Verzögerung bei der Zugabe die Kreise, wenn sich die Linie nach links bewegt. Ich will das nicht. Gibt es einen Weg, das zu verhindern? – fateh
versuchen Sie wahrscheinlich die Clip-Pfad-Technik von Mike Bostick Beispiel, und fügen Sie die Kreise, und verlängern Sie die Linie nach rechts, so dass sie synchron sind, wenn sie sichtbar werden. –