Javascript 使用layout.pack在圆外添加标签,不重叠

Javascript 使用layout.pack在圆外添加标签,不重叠,javascript,d3.js,label,overlap,circle-pack,Javascript,D3.js,Label,Overlap,Circle Pack,我对d3非常陌生,我正在使用d3.layout.pack构建图表 我希望将每个圆的文本标签放置在圆之外,但不要与其他标签或其他圆重叠 像这样: 有什么想法吗 非常感谢 pd:我试过的: var nodes = d3.layout.pack() .value(function(d) { return d.size; }) .size([w, h]).padding(333) .nodes(data); 我建议另一种方法:沿圆圈顶部放置标签/文本,并且仅适用于相当大的圆圈。。。这不会

我对d3非常陌生,我正在使用d3.layout.pack构建图表

我希望将每个圆的文本标签放置在圆之外,但不要与其他标签或其他圆重叠

像这样:

有什么想法吗

非常感谢

pd:我试过的:

var nodes = d3.layout.pack()
  .value(function(d) { return d.size; })
  .size([w, h]).padding(333)
  .nodes(data);

我建议另一种方法:沿圆圈顶部放置
标签/文本
,并且仅适用于相当大的圆圈。。。这不会完全解决重叠问题,但在我看来,视觉组织会更好

下面是说明该方法的示例


有关详细信息,请参见

始终显示您尝试过的内容。更新,抱歉没有显示我尝试过的内容,但我认为这与此无关