2014-09-24 112 views
0

我正在創建具有可展開/可摺疊部分的力量圖表。我正在嘗試將縮放/平移功能集成到圖表中,但它僅在實際節點上進行交互(平移/鼠標滾輪)時才起作用 - 而不是圖表本身。d3.js可縮放/平移的力量圖表

http://jsfiddle.net/NYEaX/837/

var svg = d3.select("#chartHolder") 
.append("svg") 
.attr("width", width) 
.attr("height", height) 
.attr("pointer-events", "all") 
.append('svg:g') 
.call(d3.behavior.zoom().on("zoom", redraw)) 
.append('svg:g'); 

http://jsfiddle.net/nrabinowitz/QMKm3/ ^這個例子是什麼,我試圖模仿 - 和它的作品因此與圖表中的空的空間互動。

+0

如何可以將代碼「http://jsfiddle.net/NYEaX/837/」進行修改,以允許在非節點區域的平移/縮放。 – 2014-09-24 16:05:22

回答

1

你所要做的就是刪除第一個附加「g」;

var svg = d3.select("#chartHolder") 
    .append("svg:svg") 
    .attr("width", width) 
    .attr("height", height) 
    .attr("pointer-events", "all") 
    .call(d3.behavior.zoom().on("zoom", redraw)) 
    .append('svg:g'); 

http://jsfiddle.net/frankcastro/qv42nt7o/1/

+0

你好弗蘭克,這太好了 - 它啓用縮放/平移 - 但它停止展開/摺疊節點的點擊操作。另外,當你嘗試和拖動孩子 - 它平移 – 2014-11-18 00:14:52