数据格式
和径向线的数据结构类似,只是将其半径分为内半径和外半径两个,如下所示:
var data = [
{innerRadius:50, outerRadius:100, angle:0},
{innerRadius:50, outerRadius:100, angle:per},
{innerRadius:50, outerRadius:100, angle:2*per},
{innerRadius:50, outerRadius:100, angle:3*per},
{innerRadius:50, outerRadius:100, angle:4*per},
{innerRadius:50, outerRadius:100, angle:5*per},
{innerRadius:50, outerRadius:100, angle:6*per},
{innerRadius:50, outerRadius:100, angle:7*per},
{innerRadius:50, outerRadius:100, angle:8*per}
];
但是如果innerRadius和outerRadius分别都是一样的的话,就没必要这样定义了。
构造器
定义径向面积生成器是必须定义它的angle访问器,innerRadius访问器,outerRadius访问器。这是最简单的形式了。
var radialArea = d3.radialArea()
.angle(function (d) {return d.angle;})
.innerRadius(function(d){return d.innerRadius;})
.outerRadius(function(d){return d.outerRadius;});
从上面的可以看出,数据格式可以是随意的,只要能和构造器中的d参数匹配上就可以了。
同样也可以使用curve使得面积有各种变形。