0
したがって、ノードポイントのシンボルをツリーグラフ上でレンダリングしたいとします。それはあまりにも悪いことではありません、私にそれを行うことができ、次のコードを持っている:D3ノードごとに異なるシンボルを持つSVGツリーグラフ
nodeEnter.append("path")
.attr("d", d3.svg.symbol()
.type(function(d) { if
(d.type == "cross") { return "cross"; } else if
(d.type == "rectangle") { return "rect";}
etc...
}));
あなたが例はappend(「円」)、あなたができるため、特定の形状を追加使用している場合は、私が持っている問題は、あります幅、高さなどを指定します。d3.svg.symbolでは、サイズのみを指定できます。
nodeEnter.append("rect")
.attr("width", rectW)
.attr("height", rectH)
.attr("stroke", "black")
.attr("stroke-width", 1)
.style("fill", function (d) {
return d._children ? "lightsteelblue" : "#fff";
});
また、ノードタイプ属性に基づいた動的シェイプも使用できますか?
nodeEnter.append(function(d){if
(d.type == "rectangle") { return "rect"; }});
はしかし、これはのエラーがスローされます:
は、私のようなものを試してみましたTypeError: Argument 1 of Node.appendChild is not an object.
これは、シンボルを変更しようと気にしないでください検索中に私が見つけた例のほとんどそれらがすべてユニークである限り。繰り返しますが、私はもっと複雑なことをすることができるようにしたいと思います。