Javascript 如何在D3中的可缩放分区布局中,在每个矩形的右上角添加一个图标?

Javascript 如何在D3中的可缩放分区布局中,在每个矩形的右上角添加一个图标?,javascript,d3.js,Javascript,D3.js,我是D3的新手,正在尝试修改这里的可缩放分区布局:() 我需要在每个矩形的右上角添加一个图标,但我不确定要编辑示例代码的哪一部分以及如何编辑 有人知道我如何实现这一点吗 谢谢 我假设图标是指图像。您可以使用以下代码执行此操作 rect = rect .data(partition(d3.entries(root)[0])) .enter(); rect.append("rect") .attr("x", function(d) { return x(d.x); }) .attr(

我是D3的新手,正在尝试修改这里的可缩放分区布局:()

我需要在每个矩形的右上角添加一个图标,但我不确定要编辑示例代码的哪一部分以及如何编辑

有人知道我如何实现这一点吗


谢谢

我假设图标是指图像。您可以使用以下代码执行此操作

rect = rect
  .data(partition(d3.entries(root)[0]))
  .enter();
rect.append("rect")
  .attr("x", function(d) { return x(d.x); })
  .attr("y", function(d) { return y(d.y); })
  .attr("width", function(d) { return x(d.dx); })
  .attr("height", function(d) { return y(d.dy); })
  .attr("fill", function(d) { return color((d.children ? d : d.parent).key); })
  .on("click", clicked);
rect.append("image")
  .attr("xlink:href", "foo.jpg")
  .attr("x", function(d) { return x(d.x) + x(d.dx) - imageWidth; })
  .attr("width", imageWidth)
  .attr("y", function(d) { return y(d.y); })
  .attr("height", imageHeight);

请参阅演示。

非常感谢Lars,我会尝试一下,并让您知道它是否有效!谢谢你!github一备份,我就添加一个演示。有趣的方法是使用
rect.data().enter()
选择两次。你不能使用这种模式进行更新,但它可以很好地进行初始化。嗨,Lars,我只是在我的工作中添加了代码,但它不起作用。你知道为什么吗?您没有使用我编写的代码--请在对其进行操作之前保存
.enter()
选择。