ランダムな位置に30の三角形を作成する必要があります。私はd3.symbolTriangleを使用している形状のために、私は三角形の領域でなければならないattr( "d"、triangle.size(dim))を通して次元を設定することができます 問題は三角形が xピクセルのマージンのように、これらをコンテナ内に強制するにはどうすればいいですか? これは私のコードです:D3.jsは完全にsvgコンテナ内に三角形を作成します
var width = window.innerWidth;
var height = window.innerHeight;
var triangle = d3.symbol()
.type(d3.symbolTriangle);
function drawTriangles(number) {
for(var i=0;i<number;i++){
var dim = Math.random()*300;
console.log("Path: "+i+", dim: "+dim);
svg.append("path")
.attr("d", triangle.size(dim))
.attr("transform", function(d) { return "translate(" + Math.random()*width + "," + Math.random()*height + ")"; })
.attr("fill", "rgb("+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+","+parseInt(Math.random()*255)+")")
.attr("opacity", 2)
.attr("class", "path"+i);
}
}
これはフィドルです:https://jsfiddle.net/jjr3kqao/
あなたは、コンテナ内にない青い三角形見ることができます: 01あなたが必要なマージンを設定した場合
方が良いの助けを[フィドル](https://jsfiddle.net/)を作ることはできますか? – xameeramir
https://jsfiddle.net/jjr3kqao/ –