ノードのグループを含む d3 強制指向グラフがあります。
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);
これはうまくレンダリングされます。
div
idで詳細を表示するときに、これらのノードを 200 ピクセル右に移動 (移動) したいと思いますdetail_container
。
次のことを試しましたが、表示してもノードに何も起こりませんdetail_container
(詳細を表示する以外div
):
$('#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");
これはうまくいきます。ただし、これは私のプログラムで発生するイベントではなく、マウスと対話するため、ズーム/パン動作を呼び出すプログラムによる方法はありますか?