Iは、ノードのグループを含むD3力-有向グラフを有する:d3.jsノードをどのように翻訳すればよいですか?
var node = vis.selectAll("g.node")
.data(json.nodes)
.enter().append("svg:g")
.attr("class", "node")
.attr("id", function(d) { return "node" + d.index; })
.attr("transform", function(d) { return "translate(" + d.x + "," + d.y + ")"; })
.call(force.drag);
これは微細にします。
idの詳細div
を表示すると、これらのノードを200ピクセル右に翻訳(移動)したいと考えています。
私は次のことを試してみましたが、私は(詳細div
を示す以外)detail_container
を表示したときに何がノードに起こらない:
$('#detail_container').fadeIn('slow', function() {
d3.selectAll("g.node").attr("transform", function(d) { return "translate(200, 0)"; });
});
d3.selectAll("g.node")
文は私が見てて確認することができますノードデータを、含まれていますコンソールでのデータ:別のアプローチとして
console.log(d3.selectAll("g.node"));
、私は私のグラフをズーム/パン動作を添付:
var vis = d3.select("#position")
.append("svg:svg")
.attr("width", w)
.attr("height", h)
.attr("pointer-events", "all")
.append("svg:g")
.call(d3.behavior.zoom().on("zoom", redraw))
.append("svg:g");
これは問題なく動作します。しかし、これは私のプログラムで発生するイベントではなく、マウスとやり取りするので、プログラムでズーム/パン動作を呼び出す方法で、私が望む翻訳を達成することができますか?