我将Radviz可视化从D3.V3(最初来自Biovisualize)移植到D3.V4,我遇到了新的力模拟模型的问题。 新模型在最终结果中几乎相同......但几乎是不够的。任何人都可以帮我转换吗?
原始代码如下:
var force = d3.layout.force().chargeDistance(0).charge(-60).friction(.5);
force.size([ panelSize, panelSize ]).linkStrength(function(d) {
return d.value;
}).nodes(data.concat(dimensionNodes)).links(linksData).start();
我目前用于设置模拟的代码是:
var force = d3.forceSimulation(data.concat(dimensionNodes))
.force("link", d3.forceLink(linksData).strength(function(d) { return d.value; }))
.force("center", d3.forceCenter(panelSize / 2, panelSize / 2));
剩余代码与Biovizalize中的原始代码基本相同,仅将命令从V3更改为V4,例如scale.ordinal到scaleOrdinal。
Here是由此产生的问题的图像。左边是原始Radviz(A1),选择了单个节点(a2)。在右侧,修改后的Radviz与D3.V4(B1)一起使用,选择相同的节点(B2)。
当模拟稳定时,修改后的可视化上的每个节点都会略微上升。
Biovisualize的原始Radviz代码:http://www.biovisualize.com/2016/03/radviz.html