D3がどのようにノードで動作するのか分かりません。d3js v3:クリック時のノードの選択
私は、JSONファイル(階層的な配列)をロードしています:
d3.json('readme.json', function(error, data){
nodes = tree.nodes(data);
をそして私はSVGコンテナにグループ(およびrectsおよびその他のSVGオブジェクト)を追加しています:
var gNodes = svgContainer
.selectAll(".node")
.data(nodes)
.enter()
.append("g")
.attr("transform", "translate("+2000+","+0+")")
.on("click", toggle);
何私は今、ノード(rect svgオブジェクトを介して表示されているサイズを持つ)をクリックしてノードの子を隠していますが、それを動作させることはできませんでした。
ノード上のクリックを経由して使用されているfunction toggle(d)
(上記var gNodes
を参照してください):
私は機能トグルを持っています。
私はd.children
を使用できますし、デバッガを介して彼は正しいノードを見つけることができます。
しかし、どうやってsvgContainerのノードや矩形などを削除できますか?それはこのように動作しません。
d.children.exit().remove();
私はこの.exit().remove()
が選択に働くだろうとd.children
を選択(それはそれの内部データである?)ではないと思います。
しかし、D3を使用してツリー内のノードの子を削除する方法が必要です。どうやってやるの?
こんにちは、ありがとうございますが、私はまだd3js v3で作業していると言って忘れました:(このバージョンのノードにdescendants()関数がないようですか?デバッガはnode.descendants機能ではありません) – alloisxp
あなたは言うことを忘れていない、それはタイトルの中にある。ちょっと質問を残して、誰かがv3の答えを書いているかどうか確認してください。 –