我基本上试图剪辑包含"路径"表示数据点的元素。 看起来,路径元素最初并没有被转换成#34;并保持在(0,0),因此被整个图表周围的矩形剪裁。
基本上,我已经取代了" circle"使用"路径"在D3 Brush Example中绘制的元素符号类型的元素" circle"。
.append("circle")
.attr("class", "point")
.attr("clip-path", "url(#clip)")
.attr("r", function(d){return Math.floor(Math.random() * (20 - 5 + 1) + 5);})
.attr("cx", function(d) { return x(d.index); })
.attr("cy", function(d) { return y(d.value); })
替换为
.append("path")
.attr("class", "point")
.attr("clip-path","url(#clip)")
.attr("d", d3.svg.symbol().type("circle"))
Here is jsfiddle。正如您所看到的,只有圆圈右下角可见,其余部分已被剪掉。到底是怎么回事?解决方案是什么?
修改 另外,实际的"剪辑"不适用于那些圈子(路径)。这是为什么?为什么它适用于" circle"但不是"路径"?