在D3强制有向图

时间:2015-10-08 16:30:41

标签: javascript d3.js svg

我需要帮助找出如何根据船体组拖放一组节点。

具体来说,

  • 我可以拖放船体,随之移动节点和链接。基本上,小组中的一切都在一起移动,这正是我正在寻找的。

  • 如果我拖放节点而我不移动船体,节点的拖动行为将按预期工作。

  • 如果我拖放船体然后尝试拖放节点,则拖放行为无法按预期方式运行。

更新 我终于弄清楚了船体和节点上的拖放行为。我在这里发了一个工作小提琴。我希望将来对其他人有用。

http://jsfiddle.net/mbgw2ooc/2/

我遇到问题的方法如下:

Vis.prototype.moveNodeGroup = function(iGroup, iPath){
    var path = d3.select(iPath);
    var nodes = path.data()[0].values;

    var translate = d3.transform(iPath.getAttribute("transform")).translate;
    var dx = d3.event.dx + translate[0];
    var dy = d3.event.dy + translate[1];

    path.attr("transform", "translate(" + dx + "," + dy + ")");


    //How to move the hulls, nodes and links permanently so the update
    //redraws properly 

};

提前感谢您推进正确的方向。

0 个答案:

没有答案