如何从填充的SVG路径中删除形状

tha*_*Guy 5 javascript svg d3.js

我有这个小提琴:https://jsfiddle.net/thatOneGuy/1spn8nne/1/

这有两条路径,目前它们只是矩形但实际上是复杂的形状.我已经使用此代码创建了两个带有'holes'的rects:

createRects(dataPointsPath2, 'blue');
createHoles(dataPointsCircle2);
createRects(dataPointsPath1, 'red');
createHoles(dataPointsCircle1);
Run Code Online (Sandbox Code Playgroud)

我需要的是从填充路径中移除的孔,以便您可以看到它背后的矩形.

如何从填充路径中删除形状(圆圈)?

编辑

我刚刚意识到,一个剪辑路径可能会很好用,我会尝试实现,但如果有人有任何想法我会很感激帮助:)

Rob*_*son 5

这是绘制带孔的矩形的一种方法.它依赖于偶数填充规则.圆形在矩形内部,它成为矩形中的一个洞,蓝色背景显示出来.

  <svg viewBox="0 0 250 250">
  <rect width="100%" height="100%" fill="blue"/>
    <path fill="#b4edb4" fill-rule="evenodd"  d="M230,230H8V13h223
	 V236z M 120 80 a 50 50 0 1 0 0.00001 0z"/>
</svg>
Run Code Online (Sandbox Code Playgroud)