2012-10-03 116 views
1

看到這裏的d3js樹http://bl.ocks.org/1061834添加圖形在d3js樹

我一直在使用.append(「文本」)添加標籤的節點。這工作正常。標籤是不同長度的字符串。

假設我想在標籤後面添加圖形,比如說一個圓圈,是否需要計算字符串的長度然後添加圖形元素?我是否將標籤和圖形分組在一起,以便可以傳遞字符串長度?

回答

1

是的,你需要計算你想明確添加的圖形元素的位置。如您所說,最簡單的方法可能是將標籤和圖形放在一個組中,然後在文本上使用.getBBox()來確定圖形的偏移量。

+0

你介意如何將這些組合在一起嗎?我知道這就是我想要/應該做的 - 不知道如何 – nilanjan

+0

當然。您添加一個SVG'g'元素,然後在文本和圖形元素的下面。所以'var foo = something.add(「svg:g」)。attr(「transform」,...); foo.add( 「SVG:文本」)...; foo.add( 「SVG:圈」)...'。 –

+0

我不認爲我有我需要的一切。我不知道如何在另一個元素之後添加元素。我有一個文本元素。我想補充,在那之後說一個圈子。我能夠創建文本,然後選擇它們並檢查bbox。不知道如何在文本/節點之後添加圖形 – nilanjan