jsfiddle を追加しました: http://jsfiddle.net/crXK3/
これはおそらく初心者の間違いですが、頭を包むことができないようです...
これは私が使用しようとしたコードですが、機能させることができませんでした:
gridLines = gridLinesG.selectAll("line")
.data(xScale.ticks(d3.time.months));
gridLines
.exit()
.transition()
.duration(transitionTime)
.attr("x1", 0)
.attr("x2", 0)
.remove();
gridLines
.enter()
.append("line")
.attr("class", "gridLine")
.attr("x1", 0)
.attr("x2", 0)
.attr("y1", 0);
しかし、終了ブロックをチェーンする代わりにこれを行うと、問題なく動作します。
gridLines
.exit()
.attr("class", "removeLine");
d3.selectAll(".removeLine")
.transition()
.duration(transitionTime)
.attr("x1", 0)
.attr("x2", 0)
.remove();
または、トランジションなしで実行すると、問題なく動作します。
gridLines
.exit()
//.transition()
//.duration(transitionTime)
.attr("x1", 0)
.attr("x2", 0)
.remove();
誰かが私が欠けているものを説明できますか?