2012-07-19 151 views
2

由於d34raphael工具上沒有太多文檔,所以我很困難。使用d3.js和raphael

我想從d3.js:http://bl.ocks.org/d/1249394/使用raphael重現這個例子。這個想法是能夠將其運行到不支持svg的ie8。

我最大的擔心是用raphael代碼替換「g」svg節點。

例如如何將這些statemetns轉換成d34raphael:

var node = vis.selectAll("g.node") 
    .data(nodes, function(d) { return d.id || (d.id = ++i); }); 

var nodeEnter = node.enter().append("g") 
    .attr("class", "node") 
    .attr("transform", function(d) { return "translate(" + source.y0 + "," + source.x0 + ")"; }) 
    .on("click", click); 

我已經閱讀d34raphael的文件,但它一直沒有用。

感謝您的幫助。

回答

1

拉斐爾不使用g元素,但有一組概念。 d34raphael直接使用它:

paper.setStart() 
... 
paper.setFinish().transform(["t", margins.top, margins.left]); 

但是,這不是爲D3代碼的直接翻譯非常有用的。我建議你將你的數據和所有的邏輯放平以定位你的元素,而不是讓你的元素擁有一個組的孩子。