Javascript 在d3js树中的标签后添加图形

Javascript 在d3js树中的标签后添加图形,javascript,svg,tree,d3.js,Javascript,Svg,Tree,D3.js,请参见此处的d3js树 我已经使用.append(“text”)向节点添加了标签。这个很好用。标签是不同长度的字符串 假设我想在标签后面添加图形,比如一个圆,我是否需要计算字符串的长度,然后添加图形元素?是否将标签和图形分组在一起,以便传递字符串长度?是的,您需要计算要显式添加的图形元素的位置。最简单的方法可能是,如您所说,将标签和图形放在一个组中,然后在文本上使用.getBBox()来确定图形的偏移量。是的,您需要计算要显式添加的图形元素的位置。最简单的方法可能是,如您所说,将标签和图形放在一

请参见此处的d3js树

我已经使用.append(“text”)向节点添加了标签。这个很好用。标签是不同长度的字符串


假设我想在标签后面添加图形,比如一个圆,我是否需要计算字符串的长度,然后添加图形元素?是否将标签和图形分组在一起,以便传递字符串长度?

是的,您需要计算要显式添加的图形元素的位置。最简单的方法可能是,如您所说,将标签和图形放在一个组中,然后在文本上使用
.getBBox()
来确定图形的偏移量。

是的,您需要计算要显式添加的图形元素的位置。最简单的方法可能是,如您所说,将标签和图形放在一个组中,然后在文本上使用
.getBBox()
来确定图形的偏移量。

您介意解释一下如何将它们组合在一起吗?我知道这正是我想/应该做的-不确定有多确定。添加一个SVG
g
元素,然后在该元素下面添加文本和图形元素。因此,类似于
var foo=something.add(“svg:g”).attr(“transform”,…);添加(“svg:text”)。。。;foo.add(“svg:circle”)…
。我想我没有我所需要的一切。我不知道如何在另一个元素之后添加一个元素。我有一个文本元素。我想加上,在那之后说一个圆圈。我能够创建文本,然后稍后选择它们并检查bbox。不确定如何在首次创建组元素的文本/节点后添加图形。像我一样将其保存为Javascript变量。然后,您将
.add()
其他元素添加到该变量中。您介意解释一下如何将这些元素组合在一起吗?我知道这正是我想/应该做的-不确定有多确定。添加一个SVG
g
元素,然后在该元素下面添加文本和图形元素。因此,类似于
var foo=something.add(“svg:g”).attr(“transform”,…);添加(“svg:text”)。。。;foo.add(“svg:circle”)…
。我想我没有我所需要的一切。我不知道如何在另一个元素之后添加一个元素。我有一个文本元素。我想加上,在那之后说一个圆圈。我能够创建文本,然后稍后选择它们并检查bbox。不确定如何在首次创建组元素的文本/节点后添加图形。像我一样将其保存为Javascript变量。然后将其他元素添加到该变量中。