d3.js - 如何使用 d3.js 获取旭日示例中每个弧的 startAngle 和 endAngle?

标签 d3.js hierarchy sunburst-diagram

我想获得旭日示例中每个弧的开始和结束角度,如 http://bl.ocks.org/4063423 :

enter image description here

最佳答案

你可以在代码中看到它们:

var arc = d3.svg.arc()
    .startAngle(function(d) { return d.x; })
    .endAngle(function(d) { return d.x + d.dx; })
    .innerRadius(function(d) { return Math.sqrt(d.y); })
    .outerRadius(function(d) { return Math.sqrt(d.y + d.dy); });

所以你的起始角度在 x 属性中,x + dx 给出你的结束角度。

诀窍是 x、dx、y 和 dy 都由布局函数设置:
var partition = d3.layout.partition()
    .sort(null)
    .size([2 * Math.PI, radius * radius])
    .value(function(d) { return 1; });

sort(null) 告诉它不要重新排序您的数据
size(...) 告诉它 x 和 y 坐标的输出范围(半径是平方,因为我们要映射到一个区域)。
value(...) 是如何为每个项目加权的值访问器。

关于d3.js - 如何使用 d3.js 获取旭日示例中每个弧的 startAngle 和 endAngle?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14378879/

相关文章:

sql - 使用 Oracle sql 根据父值更新子行

c# - 分层对象和 AutoFixture

angularjs - 在 Angular 2 应用程序中使用本地 npm 存储库中的组件

javascript - 将鼠标悬停在图例上并悬停在 nvD3 中的路径效果上

sql - 如何从oracle中的层次结构中查询

javascript - d3 森伯斯特硬编码数据

javascript - 如何将值数组传递给旭日图 dc.js?

javascript - 当节点太小时,如何在 d3 中隐藏文本标签?

javascript - 在 d3 中按 Angular 绘制日期和频率的折线图

d3.js - 寻找 axis.tickSubdivide() 产生影响的轴的示例