我目前正在使用这个D3条形图:http://bl.ocks.org/juan-cb/faf62e91e3c70a99a306我想在页面加载时简单地为图表设置动画,从左到右填充.我已经看到了.transform的其他片段,但似乎无法理解如何正确地将动画添加到我的图表中.有人介意看看吗?每当我在本地更改(我的网页应用程序中安装的图表基本相同)时,图表就会完全消失,看起来我的语法错误.
要从左向右过渡,您只需将初始宽度设置为零,然后transition()将其设置为最终值:
bar.append("rect")
.attr("transform", "translate("+labelWidth+", 0)")
.attr("height", barHeight)
.attr("width", 0)//this is the initial value
.transition()
.duration(1500)//time in ms
.attr("width", function(d){
return scale(d.value);
});//now, the final value
Run Code Online (Sandbox Code Playgroud)
这是小提琴:https://jsfiddle.net/8v88gwqn/
此外,您可以使用延迟分别转换每个栏:
bar.append("rect")
.attr("transform", "translate("+labelWidth+", 0)")
.attr("height", barHeight)
.attr("width", 0)
.transition()
.duration(1500)
.delay(function(d,i){ return i*250})//a different delay for each bar
.attr("width", function(d){
return scale(d.value);
});
Run Code Online (Sandbox Code Playgroud)
这是延迟的小提琴:https://jsfiddle.net/8v88gwqn/1/
| 归档时间: |
|
| 查看次数: |
4768 次 |
| 最近记录: |