使用layout.pack将标签放置在圆圈外部,不重叠

时间:2014-05-06 21:53:56

标签: javascript d3.js label overlap circle-pack

我是d3的新手,我正在使用d3.layout.pack构建图表。

我想将每个圆圈的文字标签放在圆圈外面,但不要与其他标签或其他圆圈重叠。

像这样: bubble chart using d3.layout.pack

有什么想法吗?

非常感谢

pd:this is我尝试了什么:

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

1 个答案:

答案 0 :(得分:1)

我建议采用另一种方法:将labels/text放在圆圈顶部,仅适用于相当大的圆圈...这不能完全解决重叠问题,但在我看来,视觉组织会更好

以下是说明该方法的示例的jsfiddle

enter image description here

详情见another SO question/answer