5秒ごとに更新をチェックし、必要に応じて線/スケールを再描画する単純な折れ線グラフがあります。これはすべて、データポイントのドットを除いてうまく機能します。
ドットを移動するための再描画で何が欠けていますか? ドットは、グラフが最初にレンダリングされたときに表示されます。ただし、更新時に、線が再描画されても移動しません。そのため、更新時に新しいデータ ソースを選択しましたが、古いデータ ポイントは固定されたままです。
更新時に再描画
var svgAnimate = d3.select("#animateLine").transition();
svgAnimate.select(".line") // change the line
.duration(750)
.attr("d", valueline(data));
svgAnimate.selectAll(".circle") // change the circle
.duration(750)
.attr("d", valueline(data));
svgAnimate.select(".x.axis") // change the x axis
.duration(750)
.call(xAxis);
svgAnimate.select(".y.axis") // change the y axis
.duration(750)
.call(yAxis);
初期図面:
svgAnimate.selectAll("dot")
.data(data)
.enter().append("circle")
.attr("class", "circle")
.attr("r", 5)
.style("fill", function(d) {
if (d.close <= 400) {return "red"}
else { return "black" }
;})
.attr("cx", function(d) { return x(d.date); })
.attr("cy", function(d) { return y(d.close); })
これは私が望んでいないことです。