强制模拟问题将Radviz移植到D3V4

时间:2017-07-10 20:54:05

标签: javascript d3.js

我将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

0 个答案:

没有答案