d3.js - 在饼图内绘制圆圈 - d3 图表

标签 d3.js

您好,我使用 https://bl.ocks.org/mbostock/3887235 创建了一个饼图 如何在每个圆弧内添加一个圆 - 示例。需要在25-44饼里面画两个圆,在18-24饼里面画两个圆,在<5里面画两个圆等等...

如何确保绘制的圆位于这些圆弧内。请帮忙

最佳答案

你可以像在饼图上做标签那样做。

//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

关于d3.js - 在饼图内绘制圆圈 - d3 图表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36327948/

相关文章:

javascript - d3js v5 + Topojson v3 单击图例显示/隐藏元素

javascript - 如何使 SVG 组遵循圆形渐变

javascript - d3 节点内的 Angular 指令

javascript - 嵌套列表可视化为交互式循环图

javascript - d3.js:不为 enter() 调用转换回调

javascript - 通过json对象获取对象Object而不是值 "reading"

javascript - D3.js-如何在放大分组条形图时裁剪矩形外的区域

d3.js - 我的 D3.js 代码没有在时间轴上显示秒?

javascript - 绘制路径以连接两个节点而不与其他节点相交+ d3.js

javascript - 获取所有刻度值 (NVD3)