在D3js Sunburst上添加标签

时间:2018-11-23 09:54:30

标签: javascript d3.js

我是d3js的新手,我试图在D3js v4 Sunburst上贴上这样的标签:

enter image description here

您知道如何执行此操作吗?我什么都找不到对我的帮助。

我已使用此示例https://bl.ocks.org/kerryrodden/766f8f6d31f645c39f488a0befa1e3c8来帮助我实现朝阳。

1 个答案:

答案 0 :(得分:1)

您可以尝试以下计划:

据我了解,您希望根据某些条件将标签放在特定的弧上或手动选择它们。因此,您将获得如下所示的节点子集:

var nodesForLabels = nodes.filter(d => d.value > 1)

在那之后,您需要将文本标签放在圆弧的质心中:

vis.selectAll('.label').data(nodesForLabels).enter().append('text')
  .attr('x', d => arc.centroid(d)[0])
  .attr('y', d => arc.centroid(d)[1])
  .attr('text-anchor', 'middle')
  .text(d => Math.round(d.value / partition.value * 100) + '%')