我正在使用 D3 生成的单选按钮将 FDG 布局中的节点大小(通过鼠标单击)从默认大小切换到缩放大小。您可以在节点集群图的左上角找到单选按钮( 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,但我发现应用转换并不简单。)
谢谢你的帮助。我很感激。