javascript - 在 D3js Sunburst 上添加标签

标签 javascript d3.js

我是 d3js 新手,我正在尝试在 D3js v4 Sunburst 上添加一些标签,如下所示:

enter image description here

你知道如何做到这一点吗?我没有找到任何可以帮助我的东西。

我使用了这个例子https://bl.ocks.org/kerryrodden/766f8f6d31f645c39f488a0befa1e3c8帮助我实现旭日。

最佳答案

您可以尝试以下计划:

据我了解,您希望根据某些条件在特定的弧上放置标签或手动选择它们。所以你会得到这样的节点子集:

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) + '%')

关于javascript - 在 D3js Sunburst 上添加标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53444317/

相关文章:

javascript - 可以使用 Browserify 加载 SVG 文件

javascript - 如何为论坛中的永久链接生成二维码?

javascript - dc.js/d3.js - 每个类别组的最小/最大值

javascript - D3.js:如何在版本 4 中将分布线添加到直方图中

javascript - Laravel 5.4 JQuery 请求 405

javascript - 访问嵌套 json 对象的属性返回未定义

javascript - 将监听器添加到通过 XTemplate 创建的 DOM 的正确技术?

javascript - 通过重叠的 svg 元素传播事件

d3.js - nvd3 中的cumulativeLineChart 上的自定义工具提示

javascript - D3.js:获取序号中的每个唯一值