【发布时间】:2013-07-10 07:26:47
【问题描述】:
我正在使用 D3 生成的单选按钮将 FDG 布局中的节点大小(通过鼠标单击)从默认大小切换到缩放幅度。您可以在Node Cluster Diagram (http://nounz.if4it.com/Nouns/Applications/A__Application_1.NodeCluster.html) 的左上角找到单选按钮
在默认数字和缩放幅度之间切换节点圆的代码如下所示...
var densityControlClick = function() {
var thisObject = d3.select(this);
var typeValue = thisObject.attr("density_type");
var oppositeTypeValue = (function() {
if(typeValue=="On") {
return "Off";
} else {
return "On";
}
})();
var densityBulletSelector = "." + "densityControlBullet-" + typeValue;
var selectedBullet = d3.selectAll(densityBulletSelector);
selectedBullet.style("fill", "Black")
var oppositeDensityBulletSelector = "." + "densityControlBullet-" + oppositeTypeValue;
var selectedOppositeBullet = d3.selectAll(oppositeDensityBulletSelector);
selectedOppositeBullet.style("fill", "White")
if(typeValue=="On") {
var selectedNodeCircles = d3.selectAll("#NODE");
selectedNodeCircles.attr("r", function(d){ return rRange(d.rSize); });
}
else {
var selectedNodeCircles = d3.selectAll("#NODE");
selectedNodeCircles.attr("r", function(d) { if (d.id==focalNodeID) { return centerNodeSize; } else { return defaultNodeSize; } } );
}
}
一切正常,但圆半径的过渡是瞬时的。我希望过渡慢一点,以展示 D3 的动态特性。
无论如何我知道如何更改上述代码以减慢圆的大小/半径过渡吗?而且,您能否用英语解释发生了什么,以便我理解代码背后的理论? (注意:我尝试阅读 API,但发现应用转换并不简单。)
感谢您的帮助。我很感激。
【问题讨论】:
标签: d3.js transition force-layout