Sürekli Girdili ve Kesikli Çıktılı
scaleQuantize
Sürekli girdiyi kabul eder ve aralık tarafından tanımlanan birkaç ayrı değer üretir.
var quantizeScale = d3.scaleQuantize()
.domain([0, 100])
.range(['lightblue', 'orange', 'lightgreen', 'pink']);
quantizeScale(10); // returns 'lightblue'
quantizeScale(30); // returns 'orange'
quantizeScale(90); // returns 'pink'
Her aralık değeri, yukarıdaki örnekte olduğu gibi, etki alanında eşit boyutta bir yığınla eşleştirilir:
0 < u <25 'lightblue' ile,
25 ≤ u <50, 'turuncu' ile,
50 ≤ u <75 'açık yeşil' ile,
75 ≤ u <100 'pembe' ile eşlenir

Ayrıca alanın dışındaki girdi değerlerinin sıkıştırılmadığını unutmayın, bu nedenle örneğimizde quantizeScale (-10) 'lightblue' ve quantizeScale (110) 'pink' verir.
scaleQuantile
var myData = [0, 5, 7, 10, 20, 30, 35, 40, 60, 62, 65, 70, 80, 90, 100];
var quantileScale = d3.scaleQuantile()
.domain(myData)
.range(['lightblue', 'orange', 'lightgreen']);
quantileScale(0); // returns 'lightblue'
quantileScale(20); // returns 'lightblue'
quantileScale(30); // returns 'orange'
quantileScale(65); // returns 'lightgreen'

Sıralanmış etki alanı dizisi, aralık değerlerinin sayısı olduğu n eşit boyutta gruba bölünür. Bu nedenle, yukarıdaki örnekte, domain dizisi 3 gruba ayrılmıştır:
ilk 5 değer 'lightblue' ile eşleştirilir
'orange' için sonraki 5 değer ve
'lightgreen' olarak son 5 değer.
Etki alanının bölme noktalarına .quantiles()
kullanılarak erişilebilir:
quantileScale.quantiles(); // returns [26.66..., 63]
Last updated
Was this helpful?