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. Şekiller (Shapes)

Stack (yığın) Oluşturucu

Yığın oluşturucu, bir dizi çoklu-dizi verisini alır ve her bir dizi için, her bir dizinin, her bir veri noktası için daha düşük ve üst değerler içerdiği bir dizi oluşturur. Her bir seri önceki serinin üstüne istiflenecek şekilde alt ve üst değerler hesaplanır.

var data = [
  {day: 'Mon', apricots: 120, blueberries: 180, cherries: 100},
  {day: 'Tue', apricots: 60,  blueberries: 185, cherries: 105},
  {day: 'Wed', apricots: 100, blueberries: 215, cherries: 110},
  {day: 'Thu', apricots: 80,  blueberries: 230, cherries: 105},
  {day: 'Fri', apricots: 120, blueberries: 240, cherries: 105}
];

var stack = d3.stack()
  .keys(['apricots', 'blueberries', 'cherries']);

var stackedSeries = stack(data);

// stackedSeries = [
//   [ [0, 120],   [0, 60],   [0, 100],    [0, 80],    [0, 120] ],   // Apricots
//   [ [120, 300], [60, 245], [100, 315],  [80, 310],  [120, 360] ], // Blueberries
//   [ [300, 400], [245, 350], [315, 425], [310, 415], [360, 465] ]  // Cherries
// ]

Oluşturulan seri dizisi kullanılarak aşağıdaki gibi grafikler oluşturulabilir.

.order()

Yığılmış serilerin sırası .order() kullanılarak yapılandırılabilir:

stack.order(d3.stackOrderInsideOut);

Her seri toplanır ve seçilen sıraya göre sıralanır. Mümkün olan seçenekler:

Seçenek

Açıklama

stackOrderNone

(Varsayılan) Seri, .keys() ile aynı sırada

stackOrderAscending

Alttaki en küçük seri

stackOrderDescending

Alttaki en büyük seri

stackOrderInsideOut

Ortadaki en büyük seri

stackOrderReverse

StackOrderNone öğesinin tersi

.offset()

Varsayılan olarak, yığılmış serilerde sıfır taban çizgisi vardır. Ancak farklı efektler elde etmek için üreticinin ofsetini yapılandırabiliriz. Örneğin, yığılmış serileri aynı yüksekliğe kadar doldurmaları için normalleştirebiliriz:

stack.offset(d3.stackOffsetExpand);

Seçenek

Açıklama

stackOffsetNone

(Varsayılan) Offset yok

stackOffsetExpand

Serilerin toplamı normalleştirilir

stackOffsetSilhouette

Yığınların merkezi y=0 konumunda

stackOffsetWiggle

Katmanların kıpırdaması en aza indirilir

PreviousArea (alan) OluşturucuNextArc (yay) Oluşturucu

Last updated 5 years ago

Was this helpful?

Grafik - 1
Grafik - 2
stackOffsetExpand
stackOffsetWiggle