6

d3 を使用して svg で rect を描画しましたが、左右のみをストロークしたいと考えています。

<rect class="extent" x="578" width="356" height="250"
      style="cursor: move; opacity: 0.2; fill: #FF9000;" ></rect>
4

5 に答える 5

4

これは別のハックですが、シェイプにフィルターを追加し、ストローク幅で上部と下部を切り取ることができます。ここでは、1 単位であると想定しています。

<defs>
   <filter id="clippy" x="0" y="1" height="248" width="356">
     <feColorMatrix type="identity"/>
   </filter>
</defs>
<rect filter="url(#clippy)" class="extent" width="356" height="250"
      style="cursor: move;opacity: 0.2; fill: #FF9000;" x="578"></rect>

アップデート:

Christopher Chiche によって作成された回答の d3.js バージョンを次に示します (元の下部を参照)。

svg.append("defs").append("filter")
    .attr("id", "clippy")
    .attr("x", "0")
    .attr("y", "1")
    .attr("height", "248")
    .attr("width" "356")
    .append("feColorMatrix")
    .attr("type", "identity")

svg.append("rect")
    .attr("filter", "url(#clippy)")
    .attr("class", "extent") 
    .attr("style", "cursor:move; opacity:0.2; fill: #FF9000")
    .attr("x", "578")
    .attr("height", "250")
    .attr("width" "356")
于 2013-04-18T04:17:40.753 に答える