, 우리는 다음 코드를 사용하여이 작업을 수행 할 수 있습니다
var linePath = svg.append("path")
.datum(data)
.attr("d", line)
.style("fill", "none")
.style("stroke", "#3498db")
.style("stroke-width", "1px")
.attr("transform", "translate(150, 0)");
var linePathLength = linePath.node().getTotalLength();
linePath
.attr("stroke-dasharray", linePathLength)
.attr("stroke-dashoffset", linePathLength)
.transition()
.duration(4000)
.ease("linear")
.attr("stroke-dashoffset", 0);
코드의 첫 번째 부분은 애니메이션하지 않고, 간단한 선을 그립니다.
애니메이션은 두 번째 부분에서 설정됩니다. linePathLength를 사용하면 행의 길이를 px로 가져옵니다. 그런 다음 줄의 시작점을 정의하는 획 대시 오프셋은 0으로 설정되어 선을 천천히 왼쪽에서 오른쪽으로 그릴 수 있습니다.
코드는 여기에서 찾을 수 있습니다 http://datavis.fr/index.php?page=transition (프랑스어로되어 있음).