【问题标题】:Draw circles inside pie - d3 chart在饼图内绘制圆圈 - d3 图表
【发布时间】:2016-03-31 08:24:51
【问题描述】:

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

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

【问题讨论】:

    标签: d3.js


    【解决方案1】:

    您可以像在饼图上制作标签一样进行操作。

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

    【讨论】:

    • 谢谢.. 但我有 n 个圆,我想在每个圆弧内放置。在您的解决方案中,您使用半径 -70 的硬编码值找到了 circleArc1,对于 circleArc2 = radius-100,...
    • 请帮忙.. 需要在圆弧内添加这些圆,每个圆不超过 70、100
    • 请写出完整的正确问题,因为提供了解决方案,所以更改要求并不是一个好习惯。
    • 当然。我已经使用 bl.ocks.org/mbostock/4063530 创建了一个圆形包装。我想代表馅饼里面的包装。
    • 我想代表饼内的包装(饼内的那些圆圈)。请帮忙
    猜你喜欢
    • 2021-10-15
    • 1970-01-01
    • 2014-01-09
    • 2013-12-03
    • 1970-01-01
    • 2019-01-02
    • 2015-01-31
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多