Gerçekten d3'ü öğrenmek için çok uğraşıyorum bu yüzden bu soruya bana yardımcı olabileceğinizi umuyorum. Verilerin sayıları olduğundan, s koordinatının svg için verileri nasıl ölçekleyeceğimi veya eşleyeceğimi düşündüm. Bunu nasıl yaptığımı aşağıda göstereceğim. Fakat x değerleri için 1mo, 2mo, 3mo ..etc gibi bir metin yoktur. Bunları çizgi grafik için x koordinatlarına dönüştürmek istiyorum. Grafiğin genişliği boyunca eşit olarak yayılmalıdırlar. umarım x koordinatlarını nasıl elde edeceğimi gösterirsiniz, böylece yol oluşturucu için çizgi jeneratörü kullanabilirim.Çizgi grafik için dize değerlerinden (metin) x koordinatlarının yapılması
var data = [
{"quarter" : "1mo", "votes" : 400},
{"quarter" : "2mo", "votes": 200},
{"quarter": "3mo", "votes" : 1000},
{"quarter" : "4mo", "votes" : 600}
]
var width = 600;
var height = 300;
//supposed to get the domain ([0, 1000])
var yscale = d3.scale.linear().domain([0, d3.max(data, function(d) {return d.votes})])
yscale.range([height, 0])
console.log(yscale(30)) //291
//now I need to get the x cordinates
teşekkürler. Sadece bunu anladım. –
Gerçekten 'rangeBands' için' .1 '' ye ihtiyacım var mı? Çizgi grafiğimin daha iyi görünmesini sağlar mı? –
@jackblank, Sana kalmış. Keneler eşit aralıklıdır, '0.1' size ilk ve son kene üzerinde biraz daha fazla dolgu sağlar (y ekseninden uzağa yerleştirir). [Burada] okuyun (https://github.com/mbostock/d3/wiki/Ordinal-Scales#ordinal_rangePoints). – Mark