をd3.js私はクリップ経路などを使用しようとしたこの例ではhttp://bl.ocks.org/mbostock/4063582SVG形状にテキストが含まれているが、私はd3.js で作成したSVG形状にテキストを記述する必要が
のような形状の内側にそれを制限する必要がありますこの例では、火かき棒で探検すると、テキストが存在するように見えますが、私はそれを見ることができません。ここに私のコードは次のとおりです。
JS:HTMLで
d3.select(".nodes").selectAll("g").append("clipPath")
.attr("id", function(d) { return "clip-" + d.id; })
.append("use")
.attr("xlink:href", function(d) { return "#" + d.id.; });
d3.select(".nodes").selectAll("g")
.append("text")
.attr("clip-path", function(d) { return "url(#clip-" + d.id; })
.attr("style","sans-serif;text-anchor:middle;fill:black;")
.append("tspan")
.attr("x", 3)
.attr("y", 0)
.attr("font-size","10px")
.text(function(d) {
return d.id
});
と結果:
<g transform="translate(631.5288807476019,511.0571103008831)">
<circle class="none" fill="blue" stroke="black" stroke-width="2" stroke-dasharray="4px" r="20" cursor="pointer">
<clipPath id="clip-DDD">
<use href="#DDD">
</clipPath>
<text clip-path="url(#clip-DDD)" style="sans-serif;text-anchor:middle;fill:black;">
<tspan x="3" y="0" font-size="10px">DDD</tspan>
</text>
</g>
問題が修正されました。シェイプのattr "id"を忘れました。XD –
'。'を削除することもできます。上記の2つの場所にある 'd.id'の後に(それはあなたの問題を引き起こすかもしれませんが、私がcodepenを作ったときのエラーを通して) – haydenwagner