[英]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.