0

ビジュアライゼーションで使用するために、円の中に複数の「クロス」記号を描画しようとしています。「g」タグで十字を描き、クリッピング パスを適用したいと思います。

d3.svg.symbol でクリップ パスを使用することは可能ですか?

以下の例では、svg 円がクリップ パスで正しくマスクされています。ただし、クロス (コードの最後の部分) はそうではありません。

私は何か間違ったことをしていますか、それともこれは機能ではありませんか?

var svg = d3.select("#maskingExample")
    .append("svg:svg")
    .attr("width", 500)
    .attr("height", 200);

svg.append("svg:clipPath")
    .attr("id", "clipper")
    .append("svg:rect")
    .style("stroke", "gray")
    .style("fill", "black")
    .attr("x", 50)
    .attr("y", 25)
    .attr("width", 300)
    .attr("height", 45);

svg.append("g").append("svg:circle")
    .style("stroke", "gray")
    .style("fill", "blue")
    .attr("cx", 175)
    .attr("cy", 55)
    .attr("r", 50)
    .attr("clip-path", "url(#clipper)");

svg.append("g").append("path")
    .attr("d", d3.svg.symbol()
    .size( function(d) { return 3000; })
    .type( function(d) { return d3.svg.symbolTypes[1]; }))
    .attr("transform", "translate(150, 50)")
    .attr("clip-path", "url(#clipper")
    .style("fill", "black");
4

1 に答える 1

6

近い親がありません。それ以外の

.attr("clip-path", "url(#clipper")

それは読むべきです

.attr("clip-path", "url(#clipper)")
于 2012-06-21T23:25:52.260 に答える