javascript - 使用 d3 将多个矩形嵌套在多个 svg 容器中?

标签 javascript d3.js svg

我试图在 g 元素中创建的每个 svg 元素中嵌套一个单独的矩形,但我似乎无法让它工作。

这是我的代码+ Plnk;

Plunker

var bar = g.selectAll(".barContainer")
    .data(thisData.labels)
    .enter()

  bar
    .append("svg")
    .attr("class", "barContainer")

  bar
    .insert('rect')
    .attr('width', function(d) {
      console.log(d)
      return d.value
    })
    .attr('height', 20)
    .attr('x', 0)
    .attr('y', 0)

目前,DOM 在同一级别上显示矩形和容器类,因为我想将矩形嵌套在每个容器内。

我尝试了一些方法,但似乎无法破解它,我希望有人能指出我正确的方向?

谢谢

最佳答案

您有一个 'g' 元素,您可以将 svg 附加到该元素,然后还将该矩形附加到 'g' 上。您想要将 rect 附加到您创建的 svg 元素。像这样的事情:

var bar = g.selectAll(".barContainer")
    .data(thisData.labels)
    .enter()

  var barRectSVG = bar
    .append("svg")
    .attr("class", "barContainer")

  barRectSVG 
    .insert('rect')
    .attr('width', function(d) {
      console.log(d)
      return d.value
    })
    .attr('height', 20)
    .attr('x', 0)
    .attr('y', 0)

更新了plnkr:http://plnkr.co/edit/WYbjT7ekjUuopzs0H9Pi?p=preview

关于javascript - 使用 d3 将多个矩形嵌套在多个 svg 容器中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38971536/

相关文章:

javascript - 以图片为背景的文字 block 隐藏效果!不透明度的线性梯度?

javascript - 在 Java 中,如何在执行页面上的 Javascript 后访问更新的 HTML 源代码?

javascript - 如何在使用 Jquery 搜索时隐藏标签和复选框?

javascript - 吉辛特 : error : d3 is not defined

javascript - Angular 输出装饰器无法正常工作给出错误

javascript - D3.js - 将力定向图节点从圆形更改为 svg :rect

javascript - 如何选择 d3 中具有特定属性值的元素

javascript - 如何动态更改定向 d3.js 力布局上方向箭头的位置和大小?

javascript - 如何根据值的变化修改D3js图表?

css - 如何制作带边框的梯形