:あなたは機能をドラッグするための呼び出しを追加する必要がhttp://bl.ocks.org/mbostock/3750558
:
var drag = force.drag()
.on("dragstart", dragstart);
以下れる
:
function dragstart(d) {
d3.select(this).classed("fixed", d.fixed = true);
}
キーポイントはtrue
にd.fixed
を設定しています。
EDITあなたはnode_dragを呼び出していなかったあなたのフィドルで
。
var node = gnodes.append("circle")
.attr("class", "node")
.attr("r", 5)
.style("fill", function(d) {
thelistofcolors[d.group] = color(d.group);
return color(d.group); })
.call(node_drag); // <<<<<<<this line
そして、あなたが後でそれを呼び出すことができるように関数に目盛りを変更します:
force.on("tick", tick);
function tick() {
link.attr("x1", function(d) { return d.source.x; })
.attr("y1", function(d) { return d.source.y; })
.attr("x2", function(d) { return d.target.x; })
.attr("y2", function(d) { return d.target.y; });
gnodes.attr("transform", function(d) {
return 'translate(' + [d.x, d.y] + ')';
});
};
がフィルタリングされない(表示されている全てのデータとフィドルを更新しましたので、あなたはそのようなノード上でそれを呼び出す必要がありますクリックすると):
私はあなたの質問を編集して以来、js fiddleを親切にチェックしました。https://jsfiddle.net/vgy1s8k3/1/を参照してください。 – Hashes