2016-03-23 12 views
0

için Yaklaşım Normal bir kuvvet düzeni düğüm bağlantı grafiğiyle çıkmak istiyorum, bu yüzden bir Json dosyası istedim. Benim Json dosyasında , bir düğüm:D3- Json iç içe anahtar değeri

  1. Ait

  2. Her liste, düğüm bağlı birden listeye sahip farklı alt liste

Örneğin:

Düğüm A Liste 1 ve 2'ye aittir. Liste 1 ile birlikte, A düğümü A * ve B * ve h Liste 2, A düğümünün B * alt listesi vardır.

Düğüm B ayrıca 1 Liste aittir, ama benim Json iş mantığı süreci gerektirir bir dizinin dizi olarak olacağını geldi bana sadece subList A *

sahip olabilir.

Nasıl yaklaşmalıyım? Json'umun yapısı ne olmalı ve bağlandıktan sonra ona erişmek için D3'ü kullanabilir miyim?

+1

listeleri ve Grafik çizmek Alt listeler önemli (Are eğer öyleyse, bunu nasıl temsil edersiniz? Veya düğümleri almak için tüm listelerin bir "sendika" yapması gerekiyor ve bağlantılar başka bir yerden mi? – tarulen

cevap

1

İki taraflı bir grafiğiniz var gibi görünüyor. En kolay olanı, düğümler, listeler, "listedeki düğüm", "düğümün alt listeleri" için farklı dizilere sahip olabilir.

allNodes = data.nodes.concat(data.lists) 
allLinks = data.nodeInList.concat(data.sublistInNode) 

Artık listesini temsil etmek kutunun dışında bir d3.force düzenini kullanabilirsiniz:

{ 
nodes = [ {name: "A"}, 
      {name:"B"} ], 
lists = [ {name:"List1"}, 
      {name:"List2"}, 
      {name:"A*"}, 
      {name:"B*"} ], 
nodeInList = [ //which node belong to which list? source = index of node, target=index of list 
       {source: 0, target:1}, //A in List1 
       {source: 0, target:2}, //B in List1 
       ... 
       ], 
sublistInNode = [//which lists are sublists of which nodes? source=index of list, target = index of list 
        {source: 2, target:0}, //A* sublist of A 
        {source: 2, target:1}, //A* sublist of B 
        ... 
       ] 
} 

Şimdi, bir kuvvet düzeni için, tüm düğümlerin bir dizi ve tüm bağlantıların bir dizi ihtiyaç/düğüm ilişkileri.

şekillendirme amaçla

, muhtemelen onlar vb düğümleri, listeler, olup olmadığını ayırt etmek düğümler ve bağlantılar bir "tip" alan eklemek gerekir