質問

この単純なJSFIDDLEを見てください。 http://jsfiddle.net/perikut/9quvw/ 2 / (Firefoxを使用している場合は申し訳ありませんが、理由がよくないのかわかりません...)

画像の記入ここで

私たちのオブジェクトの中では、データの抽出データを示すために「子供」よりも別の言葉を使うことができますか?(すべての例では、このデータ構造に従うのを参照してください。下記参照)。それを示す場所はどこですか?

グループ/親から子供を表示/非表示にするために、「グループ」パラメータを2回宣言することを余儀なくされているので、コードをかなり不足しています(JSFIDDLEを参照)。

Group1の子ノードを直接選択してアニメーションを貼り付ける方法はありませんか?将来的にははるかに複雑なデータ構造が欲しいので、このような基本的な基本を知る必要があります。

現在のデータ構造:

data = {
name:'root',
group:'no_group',
children:[
    {
        group: 'group1',
        children:[
            { group:'group1',name:'a1',value:10,color:'red' },
            { group:'group1',name:'a2',value:40,color:'lightcoral' }
        ]
    }
    , { .... } 
.

役に立ちましたか?

解決

階層レイアウト、すべてのノードに一連の<< href="https://github.com/mbostock/d3/wiki/hierarchy-layout#wiki-nodes" rel="nofollow"> "parent"属性を含む標準属性。そのため、「Group」属性を指定したり、特定のノードの子を選択するときは代わりに「親」を使用したりできます。

d3.selectAll("circle").filter(function(d) { return d.parent.name === "foo"; });
.

または、ノードオブジェクト自体への参照がある場合は、オブジェクト参照で比較することができます。

var parent = nodes.filter(function(d) { return d.name === "foo"; });
d3.selectAll("circle").filter(function(d) { return d.parent === parent; });
.

ここでは、各ノードに「名前」属性があると仮定しています。

は、異なる属性から子を取得することを使用しても記載されています。はい、これは、 "" Children "Accessor を使用して実現できます。これにより、ノードの子がそのノード上の「子」という属性に保存し、すでにそこにあるかもしれないものは上書きされます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top