3
我很奇怪,为什么相比于动画折线图正是基于这个多线图的转换是跳跃:这里提供http://www.animatedcreations.net/d3/lineChartAnimated.htmlD3.js多线图的转换
小提琴: http://jsfiddle.net/user2477109/QBDGB/
问题是分别更新所有路径吗?它看起来效率不高。谢谢。
graph.select(".line1").attr("d", line).attr("transform", null);
graph.select(".line2").attr("d", line).attr("transform", null);
graph.select(".line3").attr("d", line).attr("transform", null);
graph.select(".line4").attr("d", line).attr("transform", null);
// slide the line left
path1
.transition()
.duration(duration)
.attr("transform", "translate(" + x(t-n+1) + ")");
path2
.transition()
.duration(duration)
.attr("transform", "translate(" + x(t-n+1) + ")");
path3
.transition()
.duration(duration)
.attr("transform", "translate(" + x(t-n+1) + ")");
path4
.transition()
.duration(duration)
.attr("transform", "translate(" + x(t-n+1) + ")");
// slide the x-axis left
axis.transition()
.duration(duration)
.ease("linear")
.call(xAxis)
.each("end", tick);
我不敢相信我错过了!另外,我想知道为什么单行有连续的平滑重绘,但四行图不?是否有可能通过多条线路实现这一效果? – user2477109
只需在每次转换时使用它,就像您在jsFiddle中看到的那样。 –