2016-04-08 8 views
0

私は試しましたhttp://bl.ocks.org/godds/ec089a2cf3e06a2cd5fc しかし、私はブラシを使用したときに、積み重なった棒の主要部分が境界から外れていることがわかりました。それを修正するには? 私はここに理由があると思う: some bars should not be shown in the main part but they are still in the scope of svg ありがとう!d3オブジェクトを修正するには?

+0

あなたを投稿関連コードは、他の人にあなたを助けやすくします。 –

+0

これはリンクですhttp://bl.ocks.org/godds/ec089a2cf3e06a2cd5fc –

答えて

0

これらのタイプの文字は、ちょうど幾何学的なズームであり、すべてのバーはまだ描画されています。大部分がオフスクリーンで、一部がグラフの制限内にあり、いくつかは軸のギャップの中間にありますそれは不自然に見えるものです。

SVGクリップを作成し、この影響を取り除くために右の「G」の要素に追加します。

svg.append("defs").append("clipPath") 
      .attr("id", "myclip") 
      .append ("rect") 
      .attr({x: 0, width: width, y: margin.top, height: height}); 

...と後で上のコードで

// draw the bars 
     main.append("g") 
       .attr("clip-path", "url(#myclip)") 
       .attr("class", "bars") 
+0

それは動作します!大変ありがとうございます:-) –

+0

ところで、あなたはURLの使用法を説明するのを助けてくれますか(#..)。私はそれに精通していません:-) –

+0

'url(#whatever)'は同じ文書内のid 'whatever'を持つ要素を指しているだけです。クリップパス属性が物事を見ることを期待しています。この例では、クリップするために使用するclipPath要素のIDであるid 'myclip'を指しています。 https://developer.mozilla.org/en-US/docs/Web/SVG/Attribute/clip-path – mgraham

関連する問題