繁体   English   中英

向d3j散点图添加过渡

Add a transition to a d3j scatter plot

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我是d3j的新手,正在玩转场游戏。 我希望数据点在页面上一一出现。 我该如何实现? 我尝试插入:

.transition()
.delay(1000)

在本节的各个点:

 var data=[];
 for (var i=0;i<10;i++)
    data.push([Math.floor(Math.random()*30),Math.floor(Math.random()*30)]);

var svg=d3.select("body")
.append("svg")
.attr("width",w)
.attr("height",h);

svg.selectAll("circle")
 .data(data)
 .enter()
 .append("circle")
 .attr("cx",function(d){return xscale(d[0]);})
 .attr("cy",function(d){return yscale(d[1]);})
 .attr("r",function(d){return rscale(d[1]);})
 .attr("fill","teal")
 ;

谢谢您的帮助。

1 个回复

.transition()将动态转换样式或属性。 如果希望点以延迟方式显示,则可以将r属性从0(实际上不可见)过渡到新值。 在您的代码中,如下所示:

svg.selectAll("circle")
 .data(data)
 .enter()
 .append("circle")
 .attr("cx",function(d){return xscale(d[0]);})
 .attr("cy",function(d){return yscale(d[1]);})
 .attr("r", 0)
 .attr("fill","teal")
 .transition()
 .delay(1000)
 .attr("r",function(d){return rscale(d[1]);}) 
 ;

另一种方法是将不透明度从0转换为1:

svg.selectAll("circle")
 .data(data)
 .enter()
 .append("circle")
 .attr("cx",function(d){return xscale(d[0]);})
 .attr("cy",function(d){return yscale(d[1]);})
 .attr("r",function(d){return rscale(d[1]);}) 
 .attr("fill","teal")
 .style("opacity", 0)
 .transition()
 .delay(1000)
 .style("opacity", 1)
 ;

两者在.delay()效果相同,但在.delay()外观不同,因为样式/属性从一个值.duration()到另一个值。

作为澄清的结果在注释中添加:

要错开节点的外观,请将.delay()值绑定到元素的数组位置:

svg.selectAll("circle")
 .data(data)
 .enter()
 .append("circle")
 .attr("cx",function(d){return xscale(d[0]);})
 .attr("cy",function(d){return yscale(d[1]);})
 .attr("r",function(d){return rscale(d[1]);}) 
 .attr("fill","teal")
 .style("opacity", 0)
 .transition()
 .delay(function(d,i) {return i * 100)
 .style("opacity", 1)
 ;
1 无法在d3中添加过渡

我想在d3中设计的垂直栏上添加过渡效果。 我是d3的新手,我曾尝试添加transition()方法,但工作并不安静。 我的代码如下- 我希望条形图一次从一个图的下方出现。 请帮助。 ...

2 向 d3.drag() 行为添加过渡

我即将用 d3.js 完成我的第一个项目。 它计算滑雪者可用的势能,如果所有这些能量都转换为动能,我想计算滑雪者的预期速度。 我想要的最后一件事是在滑雪者掉落时为他添加过渡。 我希望滑雪者始终过渡到右侧的黑色圆圈 (p2)。 过渡的持续时间现在并不重要。 有没有简单的方法来完成这项任务? ...

3 d3j:更改要绘制的变量

我正在尝试使用d3j绘制一个csv文件。 我可以得到一个简单的散点图,并且可以正常运行。 这是我遇到的麻烦: 假设这些列是x,y,z。 我希望用户能够绘制任何组合(x与y,x与z,y与z等)(就像http://www.gapminder.org/world/一样 ,您可以在其中选择轴 ...

2015-01-29 21:10:39 0 51   d3.js
4 d3j蛇曲路径动画

我有兴趣尝试创建一个受控的弯曲路径。 有没有办法绘制特定的坐标和样式来模仿这样的设计。 我想它是一种2D Donnie Darko时间隧道或slinkey / snake。 更新1 - 旅程路径1 http://jsfiddle.net/0ht35rpb/241/ ...

5 如何向轮播添加过渡?

我有一个自己创建的旋转木马,我想知道如何用 JS 做到这一点。 我知道如何通过 CSS 做到这一点,但问题是照片的变化。 为什么要更改 src 所以这是我的问题。 如果有人知道我如何在 JS 中做到这一点,那就没问题了。 也许改变类或什么。 let imagenEnsaladas = ...

6 向CSS添加过渡

我想添加平滑的动画过渡以在此CSS中添加下拉菜单。 哪个代码以及我应该放在哪里? 我尝试了一些“ webkit-transition”变体,但没有一个与我的编程技能配合使用。 任何人都可以解决这个问题吗? ...

7 如何向文字添加过渡?

我正在尝试向我的网页添加过渡。 我希望标题中的文本的行为类似于Mineplex网站http://www.mineplex.com/中标题中的文本。 我希望文本从底部到顶部都被“突出显示”。 我已经尝试过自己做,但是失败了。 如果有人可以帮助,非常感谢! Craftd。 这是我的H ...

2014-11-30 05:09:55 3 138   html/ css
8 添加过渡图像

我试图通过块生成器使d3可视化。 我希望tourdefrance的图片首先出现在整个容器中,然后逐渐消失,然后出现条形。 我知道通过从各种来源进行复制使我变得有些复杂。 如果有人可以帮忙并解释问题,那将是很好的。 ...

9 如何向此div添加过渡

ts文件 该脚本在提交表单时以及ng if条件为true时添加一个div,并在跨度内显示错误。 如果用户在单击按钮提交表单后将焦点放在输入框中,则上面的ts文件中的两个函数将隐藏错误消息。 它可以处理div隐藏和显示的错误,但是看起来不太漂亮,所以有没有添加过渡的方法? ...

10 如何添加过渡我的滑块?

我想为滑块增加效果,但是我不知道如何处理这种情况? 因此,当单击“预览”或“下一步”按钮时,更改滑块的效果是,我使用了“过渡属性” CSS代码,但不起作用! 如果可能的话,请帮助纠正我的代码,谢谢! 这是我的HTML代码: 这是JavaScript代码: 这是我 ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2022 STACKOOM.COM