Çizgi (line) Oluşturucu
Last updated
Was this helpful?
Last updated
Was this helpful?
D3’ün çizgi oluşturucusu bir dizi koordinat verilen bir path veri dizisi üretiyor. D3 .line()
kullanarak bir çizgi oluşturucu yaparak başlarız:
Artık çizgi oluşturan bir fonksiyona sahibiz. Parametre olarak kordinat (x,y) dizisi vermeliyiz.
lineGenerator, yaptığımız kordinat dizisinden bir M (move to) ve L (line to) komutları dizisi oluşturmaktır. Şimdi bir path
element öğesinin d
niteliğini ayarlamak için pathData öğesini kullanabiliriz:
Fonksiyonumuzu birkaç yolla daha yapılandırabiliriz:
.x()
ve .y()
erişim işlevleri,
.defined()
(eksik verileri işlemek için),
.curve
(noktaların enterpolasyonunu belirlemek için)
.context()
bir tuval öğesine işlemek için.
.x() ve .y()
Varsayılan olarak her bir dizi elemanı, 2 boyutlu bir dizi tarafından tanımlanan bir koordinatı temsil eder (örneğin, [0, 100]).
Bununla birlikte, çizgi oluşturucu her bir dizi öğesini .x()
ve .y()
işlevlerini kullanarak nasıl yorumlayacağını belirtebiliriz. Örneğin, verilerimizin bir nesne dizisi olduğunu varsayalım:
Yukarıdaki örnekte elimizdeki veri object olduğu için x için sıra numarasını y için değerini kullanmak istedik.
.defined()
Eksik veriler olduğunda bunları eleyebiliriz. Verilerimizde bir null olduğunu varsayalım:
Her bir koordinatın sadece null
değilse geçerli olduğunu söyleyebiliriz:
.curve()
Ayrıca noktaların nasıl enterpolasyon yaptığını da yapılandırabiliriz. Örneğin, her veri noktasını bir B-spline ile enterpolasyon yapabiliriz:
Çok sayıda farklı eğri türü olmasına rağmen, ikiye bölünebilir: noktalardan geçenler (curveLinear
, curveCardinal
, curveCatmullRom
, curveMonotone
, curveNatural
, curveStep
) ve olmayanlar (curveBasis
ve curveBundle
).
Bu eğri türlerini deneyerek farklı şekillerde çizgiler çizebilirsiniz.
Varsayılan olarak, çizgi oluşturucu, SVG path
verilerini çıkarır. Bununla birlikte, .context()
işlevini kullanarak bir canvas
öğesine çizmek üzere yapılandırılabilir:
Radyal çizgi üreteci diğerine benzer, ancak noktalar x ve y yerine açı (saat yönünde çalışır) ve yarıçapa dönüştürülür:
Elinizdeki veriyi düzgün kullanmak için 2 yardımcı fonksyiona sahip: