Bu example ürününe dayalı bir Choropleth haritası oluşturdum. "Toplam" "ücret" veD3'teki birden çok diziye veri yükleme
id rate total
Macedonia 32.7 671000000
Turkey 22.8 10560000000
ben geçiş yapmak için düğmelerini kullanabilirsiniz böylece iki veri gerektiğini düşünüyorum: Ancak ben şimdi tsv verilerinde farklı değerler arasında geçiş yapmak için düğmeler eklemek istiyorum, gayet iyi çalışıyor bunlar arasında
rate = [{"id":"Estonia","rate":"6.6","id":"Latvia","rate":"13.7"}]
total =[{"id":"Estonia","total":"457000000","id":"Latvia","total":"286000000"}]
....
<button class="opts" value="rate">Rate</button>
<button class="opts" value="total">Total</button>
d3.selectAll('.opts')
.on('click', function() {
var data = eval(d3.select(this).property('value'));
updateLegend(data);
})
Verilerimi yüklemek için d3.queue kullanıyorum. Verilerimi doğru yapıya nasıl ulaştırabilirim? Bu defa
d3_queue.queue()
.defer(d3.json, "borders.json")
.defer(d3.tsv, "data.tsv")
.await(ready);
function ready(error, rate, total) { //This isn't working
var rate = [{}];
var total = [{}];
data.forEach(function(d) {
rate[d.id] = +d.rate;
total[d.id] = d.total;
});
Tanklarının kullanarak arasındaki arasında geçiş yapmak için sen! Bu benim dizilerimi düzeltir. Ancak renklerimi kırmış görünüyorsun, buraya referans vermem gereken şeyi biliyor musun? .enter(). append ("yol"). attr ("sınıf", işlev (d) {return quantize (d.id)} https://plnkr.co/edit/ofFgECDYEPjokxn5EN7C?p=info – user3821345
Ben didn ' Daha önce tam kodlara bakmayın, çünkü doğrudan "dize" ve "toplam" d3'ü doğrudan kullanmıyorsunuz, aslında bir nesneyi kullanmak en iyisidir. Kodunuz şöyle görünebilir: https://plnkr.co/edit/gaXlgTuHxGL4zvBDSQkZ? p = önizleme Ayrıca, oran ve toplamlar çok farklı değerlere sahip olduğundan, ben 'updateLegend' parçası olarak quantize.domain() öğesini güncellemeniz gerektiğini düşünüyorum. – yeahwhat
İyi fikir, teşekkürler! – user3821345