2012-10-27 24 views
30

Ben d3.js. anlamaya çalışıyorum Ekseni tanımlarken, x ekseninde nasıl özel etiketleme yapabilirim? Örneğin, ben olsun varsayılan etiketleme: Ben şu anda bunu öğrenme ve verilen resmi örneklerden kodu (biraz değiştirilmiş) üzerinde çalışıyorumX ekseni üzerindeki keneleri değiştirin

|------|------|------|------|------|------| .... 
20 26  32 38  44  50  56 

:

Oysa
|------|------|------|------|------|------| 
20 30  40  50  60  70  80 

, şöyle bir şey istiyorum

var xAxis = d3.svg.axis().scale(x).tickPadding(7).orient("bottom"); 
var yAxis = d3.svg.axis().scale(y).tickPadding(5).orient("left"); 

cevap

57

Kantitatif ölçekler için varsayılan tıklamalar 2, 5 ve 10'un katlarıdır. 6 katının çoğunu istiyorsanız görünüyorsunuz; sıra dışı olsa da, bu, temeldeki verilerin doğasına bağlı olarak anlamlı olabilir. Eğer artırmak veya kene sayısını azaltmak için axis.ticks kullanabilirsiniz süre Yani, her zaman 2, 5 ve 10 katları dönecektir - değil 6.

Eğer 6 katlarını isterseniz, kene değerlerini belirlemek için axis.tickValues kullanabilirsiniz açıkça. Bu genellikle d3.range ile birlikte kullanılır. Örneğin:

xAxis.tickValues(d3.range(20, 80, 4)); 

Eğer dinamik değerlerin hesaplanması düşük ve en yüksek değerini almak için x-terazinin etki alanını kullanmak istiyorsanız

. Ayrıca, aralığın üst sınırının münhasır olduğunu unutmayın, bu nedenle yukarıdaki örnekte en büyük kene değeri 76'dır. Üst sınırın dahil edilmesini, aralığın durma değerini biraz daha büyük yaparak yapabilirsiniz (ör., 81).

+0

Haha! Bunu anladım ve soruyu kendime cevaplamak için buraya geldim, ama yine de postanız gerçekten yardımcı oldu. Teşekkürler! :) – WeaklyTyped

+6

@mbostock, Kantitatif ölçekte 24 kategorim var, ama xAxis'e .ticks (6) eklemek hiç bir şey yapmıyor - tüm 24 hala gösteri. Herhangi bir fikir? –

+0

[d3 kaynak kodu] (https://github.com/mbostock/d3/blob/f59fc64a20d57fe08be9fb6e53ab0022f6f6c732/test/svg/axis-test.js) şimdi tickSubdivide'nin kullanımdan kaldırıldığını ve hiçbir şey yapmadığını söylüyor. – Seri

İlgili konular