小编And*_*son的帖子

如何在 D3 中附加多个矩形?

我想知道是否可以为每个数据点附加多个矩形。在我的示例中,有三个数据点。对于每个我尝试创建 2 个矩形。最后必须有6个矩形。3个红色,3个蓝色。 图片

根据这个答案,我尝试了以下解决方案:

var svg = d3.select("body").append("svg");

      svg.selectAll("rect")
      .data([10,60,120])
      .enter()
      .append("g")
      .append("rect")
      .attr("width", 20)
      .attr("height", 20)
      .attr("x", 20)
      .attr("y", function(d) {return d})
      .attr("fill",  "red")

      .selectAll("rect")
      .data(function(d) { return d3.range(d); })
      .enter()
      .append("rect")
      .attr("width", 20)
      .attr("height", 20)
      .attr("x", 60)
      .attr("y", function(d) {return d})
      .attr("fill",  "blue");
Run Code Online (Sandbox Code Playgroud)

不幸的是,蓝色矩形是在红色矩形内创建的。知道如何实现这一目标吗?这是一个例子

javascript append rectangles d3.js

2
推荐指数
1
解决办法
4008
查看次数

标签 统计

append ×1

d3.js ×1

javascript ×1

rectangles ×1