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)

Partition Layout

PreviousPack LayoutNextChord Layout

Last updated 5 years ago

Was this helpful?

Bölüm düzeni, hiyerarşinin her katmanı için bir katmana dikdörtgen bir alan böler. Her katman, katmandaki her düğüm için alt bölümlere ayrılmıştır:

var partitionLayout = d3.partition();

partitionLayout.size([400, 200]);

rootNode.sum(d => d.value);

partitionLayout(rootNode);

Her düğüm için x0, x1, y0, y1 değerlerini ekler. Bunları kullanarak dikdörtgenler oluşturalım.

d3.select('svg g')
  .selectAll('rect')
  .data(rootNode.descendants())
  .enter()
  .append('rect')
  .attr('x', function(d) { return d.x0; })
  .attr('y', function(d) { return d.y0; })
  .attr('width', function(d) { return d.x1 - d.x0; })
  .attr('height', function(d) { return d.y1 - d.y0; });

.padding() kullanarak düğümler arasına dolgu eklenebilir:

partitionLayout.padding(2)

Bölüm düzeninin yönünü, katmanların soldan sağa doğru çalışması için değiştirmek isterseniz, rect öğelerini tanımlarken, x0, y0 ile ve x1, y1 ile değiştirebiliriz:

 .attr('x', d => d.y0)
 .attr('y', d =>  d.x0)
 .attr('width', d =>  d.y1 - d.y0)
 .attr('height', d =>  d.x1 - d.x0);