我对 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);
我会建议另一种方法:labels/text
沿着圆圈的顶部放置,并且仅适用于相当大的圆圈......这不会完全解决重叠问题,但在我看来,视觉组织会更好。
这是说明该方法的示例的jsfiddle 。
详细信息在另一个 SO 问题/答案中进行了描述