D3.js
  • D3.js Nedir, Ne Değildir?
  • JS Grafik Kütüphaneleri
  • Modüler D3.js
    • D3.js Eklenti Oluşturma
  • Başlangıç
  • Seçiciler
  • Element Biçimlendirme
  • Olaylar (Events)
  • Geçişler ve Animasyonlar
    • Kontrol Fonksiyonları
    • Bir Geçişin Yaşam Döngüsü
  • Ölçekler (Scales)
    • Sürekli Girdili ve Sürekli Çıktılı
    • Sürekli Girdili ve Kesikli Çıktılı
    • Kesikli Girdili ve Gesikli Çıktılı
  • Eksen (Axes)
  • Şekiller (Shapes)
    • Çizgi (line) Oluşturucu
    • Area (alan) Oluşturucu
    • Stack (yığın) Oluşturucu
    • Arc (yay) Oluşturucu
    • Pie (pasta) Oluşturucu
    • Symbols (semboller)
  • Düzenler (Layouts)
    • Tree Layout
    • Cluster Layout
    • Treemap Layout
    • Pack Layout
    • Partition Layout
    • Chord Layout
    • Force Layout
  • Kaynaklar
Powered by GitBook
On this page

Was this helpful?

  1. Düzenler (Layouts)

Tree Layout

PreviousDüzenler (Layouts)NextCluster Layout

Last updated 5 years ago

Was this helpful?

Ağaç düzeni, hiyerarşinin düğümlerini ağaç benzeri bir düzende düzenler.

var treeLayout = d3.tree();
treeLayout.size([400, 200]);
treeLayout(root);

Bu, her bir kök düğümüne x ve y değerleri yazar.

  • Tüm düğümlerin bir dizisini almak için root.descendants() kullanabilirsiniz.

  • Çevreleri konumlandırmak için x ve y değerlerini kullanabilirsiniz.

  • Tüm bağlantıların bir dizisini almak için root.links() işlevini kullanabilirsiniz.

  • Aradaki bağlantıyı konumlandırmak için bağlantının kaynağının ve hedefinin x ve y değerlerini kullanabilirsiniz.

root.links(), her bir dizi öğesi, bağlantının kaynağını (source) ve (target) hedef düğümlerini temsil eden iki özellik içeren bir nesnedir.

// Nodes
d3.select('svg g.nodes')
  .selectAll('circle.node')
  .data(root.descendants())
  .enter()
  .append('circle')
  .classed('node', true)
  .attr('cx', d => d.x)
  .attr('cy', d => d.y)
  .attr('r', 4);

// Links
d3.select('svg g.links')
  .selectAll('line.link')
  .data(root.links())
  .enter()
  .append('line')
  .classed('link', true)
  .attr('x1', d => d.source.x)
  .attr('y1', d => d.source.y)
  .attr('x2', d => d.target.x)
  .attr('y2', d => d.target.y);

tree layout