Eri*_*yen 3 javascript d3.js force-layout
在这个问题的答案中,mbostock指出"如果一个节点是固定的,它只能通过拖动而不是通过模拟来移动."
但是,如果我想以编程方式定位节点,或许可以通过设置dx和dy值,该怎么办?到目前为止,我的尝试失败了.我已经尝试了明显的dx和dy设置,但固定节点会忽略这些值.我还尝试暂时"取消修复",重绘,然后"重新修复"节点,但这也不起作用 - 节点在下一个节拍时神奇地重置为其原始位置.
以下是后一种方法的运行示例.
这是该代码的关键位,在点击时执行:
function explicitlyPosition() {
node.each(function(d) {
d.x = 0;
d.y = 0;
d.fixed = false;
});
tick();
node.each(function(d) {
d.fixed = true;
});
force.resume();
}
Run Code Online (Sandbox Code Playgroud)
有没有办法使用我尝试过的方法或类似的方法来做到这一点?或者我可以在D3中使用完全不同的图形布局,但我理想地希望我的图形的大部分以力导向的方式布局.
谢谢!
| 归档时间: |
|
| 查看次数: |
4363 次 |
| 最近记录: |