Sürekli Girdili ve Sürekli Çıktılı
scaleLinear
Sürekli ölçekler, muhtemelen veri değerlerini konumlara ve uzunluklara dönüştürmek için en uygun ölçek oldukları için en yaygın kullanılan ölçek türüdür. Bu konuda bilgi edinmek için iyi bir bir ölçek türü varsa budur.
Etki alanı ve aralığı arasında enterpolasyon yapmak için Sürekli bir işlev (y = m * x + b)
kullanırlar.
Tipik kullanımlar, veri değerlerini konumlara ve uzunluklara dönüştürmektir, bu nedenle çubuk grafikler oluştururken, çizgi grafikler (ve diğer birçok grafik türünde) kullanılacak ölçeklerdir.
Çıkış aralığı ayrıca renkler olarak da belirtilebilir:
scalePow
(y = m * x ^ k + b)
işlevini kullanarak enterpolasyon yapar. k
üssü .exponent()
kullanılarak ayarlanır:
scaleSqrt
Bu ölçek, scalePow ölçeğinin özel bir durumudur (k = 0.5'tir) ve daireleri alana göre (yarıçapı değil) boyutlandırmak için kullanışlıdır. (Verileri temsil etmek için daire boyutunu kullanırken, verileri yarıçapı olarak almak yerine alanı ayarlamak daha iyi olabilir.)
scaleLog
Bir log işlevini kullanarak ölçekler (y = m * log (x) + b)
ve verilerde üstel bir yapıya sahip olduğunda yararlı olabilir.
scaleTime
scaleTime, etki alanı bir tarih dizisi olarak ifade edilmesi dışında scaleLinear'a benzer. (Zaman serisi verileriyle uğraşırken çok faydalıdır.)
scaleSequential
Sürekli değerleri önceden ayarlanmış (veya özel) bir interpolator tarafından belirlenen bir çıktı aralığına eşlemek için kullanılır. (Bir interpolator, 0 ile 1 arasında girdi kabul eden ve iki sayı, renk, dizi vb. Arasında enterpolasyonlu bir değer veren bir fonksiyondur.)
D3, birçok renkli olanlar da dahil olmak üzere bir dizi interpolator sağlar. Örneğin, iyi bilinen gökkuşağı renk skalasını oluşturmak için d3.interpolateRainbow
kullanabiliriz:
Aşağıdaki resimde, D3 tarafından sağlanan diğer renk interpolator örneklerini görebilirsiniz:
Sıkıştırma (clambing)
Varsayılan olarak scaleLinear, scalePow, scaleSqrt, scaleLog, scaleTime ve scaleSequential, etki alanı dışında bir girişe izin verir.
Örneğin:
Bu örnekte, ölçek işlevi alan dışındaki değerler için ekstrapolasyon kullanır.
Ölçek işlevinin etki alanı içindeki giriş değerleri ile sınırlandırılmasını istiyorsak, .clamp()
işlevini kullanarak ölçek işlevini "sıkıştırabiliriz":
Birden Fazla Aralık
Başlangıç ve bitiş değilde arada farklı değerler kullanmak isterseniz:
Ters Çevirme (inversion)
.invert() yöntemi, bir çıktı değeri verilen bir ölçek işlevinin giriş değerini belirlememize izin verir (ölçek işlevinin sayısal bir alanı varsa):
Örneğin grafikte tıklanan bir alanın piksel değerinin hangi sayısal değer karşılık geldiğini öğrenmek için kullanılabilir.
Last updated
Was this helpful?