简体   繁体   English

d3过渡圈到json数据值

[英]d3 transition circles to a json data value

I am trying to set up a force directed layout in d3 and have my nodes start with an initial radius at 0. I then want for the user to be able to press a button and have the radius of the nodes scale to a size in accordance with a json data value. 我正在尝试在d3中设置强制导向的布局,并使节点的初始半径为0。然后,我希望用户能够按下按钮并使节点的半径按比例缩放带有json数据值。 When I try to do this however, I get a javascript error "Cannot read property 'FIELD4' of undefined. 但是,当我尝试执行此操作时,出现javascript错误“无法读取未定义的属性'FIELD4'。

Here is the json data: https://api.myjson.com/bins/2n7do 这是json数据: https : //api.myjson.com/bins/2n7do

And here is the code: 这是代码:

 // Update nodes. circles = circles.data(data); circles.exit().remove(); var nodeEnter = circles.enter().append("g") .attr("class", "node") .style("fill", function(d) { return color(d.FIELD5); }) .style("opacity", 0.75) .call(force.drag); nodeEnter.append("circle") .attr("r", 9) d3.select(circles).transition() .delay(3000) .duration(1000) .attr("r", function(d) { return d.FIELD4 * 0.000195 });; 

circles is d3 selection. 圈子是d3选择。 By doing d3.select(circles) you select selection. 通过执行d3.select(circles)您可以选择选择。 I don't think it's valid. 我认为这是不正确的。 Instead of d3.select(circles).transition() try circles.transition() 代替d3.select(circles).transition()尝试circles.transition()

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

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