【发布时间】:2016-03-31 08:24:51
【问题描述】:
您好,我使用https://bl.ocks.org/mbostock/3887235 创建了一个饼图 如何在每个弧内添加一个圆 - 示例。需要在 25-44 饼内画两个圆,在 18-24 饼内画两个圆,在
如何确保绘制的圆位于这些圆弧内。请帮忙
【问题讨论】:
标签: d3.js
您好,我使用https://bl.ocks.org/mbostock/3887235 创建了一个饼图 如何在每个弧内添加一个圆 - 示例。需要在 25-44 饼内画两个圆,在 18-24 饼内画两个圆,在
如何确保绘制的圆位于这些圆弧内。请帮忙
【问题讨论】:
标签: d3.js
您可以像在饼图上制作标签一样进行操作。
//arc for 1st circle
var circleArc1 = d3.svg.arc()
.outerRadius(radius - 70)
.innerRadius(radius - 70);
//arc for 2nd circle
var circleArc2 = d3.svg.arc()
.outerRadius(radius - 100)
.innerRadius(radius - 100);
然后使用arc函数计算平移
g.append("circle")
.attr("transform", function(d) { return "translate(" + circleArc1.centroid(d) + ")"; }) //use arc 1
.style("fill", "purple")
.attr("r", "10");
g.append("circle")
.attr("transform", function(d) { return "translate(" + circleArc2.centroid(d) + ")"; }) //use arc2
.style("fill", "violet")
.attr("r", "10")
工作代码here
【讨论】: