编辑D3 Sunburst可视化的innerRadius

时间:2013-01-15 16:08:38

标签: javascript svg d3.js sunburst-diagram

如何更改Sunburst可视化最内圈的半径?请参阅以下示例:(http://bl.ocks.org/d/910126/ - 注意中心区域有多大;可以更小吗?)

enter image description here

此外,是否可以为Sunburst中的所有图层定义不同的高度?

2 个答案:

答案 0 :(得分:7)

Yes,这是可能的。


基础示例

jsfiddle

enter image description here


自定义图层高度1

jsfiddle

enter image description here


自定义图层高度2

jsfiddle

enter image description here


自定义图层高度3

jsfiddle

enter image description here

答案 1 :(得分:1)

我刚刚比较了上面的例子,所以不能在这里声称任何技巧或知识,但所有的变化都在这一部分:

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

当我发现这个问题\答案时,效果很有趣,但并不是我想要的。我希望能够单独控制每个图层\环的大小。无论如何......希望上面的jsfiddles能够帮助别人。