2013-04-02 16 views
18

D3.js. kullanarak bazı verileri .csv'den almaya çalışıyorum. Bunu yapmakta zorlanıyorum ve kimsenin yardım isteyip istemediğini merak ediyordum. Benim .csv dosya biçimlendirilir şöyle:D3.js kullanılarak .csv dosyasından veri aktarımı

max_i,min_i,max_f,min_f 
-122.1430195,-122.1430195,-122.415278,37.778643 
-122.1430195,-122.1430195,-122.40815,37.785034 
-122.4194155,-122.4194155,-122.4330827,37.7851673 
-122.4194155,-122.4194155,-122.4330827,37.7851673 
-118.4911912,-118.4911912,-118.3672828,33.9164666 
-121.8374777,-121.8374777,-121.8498415,39.7241178 
-115.172816,-115.172816,-115.078011,36.1586877 
-82.5618186,-82.5618186,-79.2274115,37.9308282 
-79.9958864,-79.9958864,-80.260396,40.1787544 
-74.1243063,-74.1243063,-74.040948,40.729688 
-106.609991,-106.609991,-106.015897,35.640949 

Aşağıdaki kodu kullanarak veri yüklemek için çalışıyorum:

var dataset = [] 
d3.csv("data.csv", function(data) { 
    dataset = data.map(function(d) { return [ +d["max_i"], +d["min_i"] ]; }); 
}); 
console.log(dataset) 

Ancak, ben sadece konsolda [] boş olsun. Kimse benim hatama işaret edebilir mi?

cevap

20

Değişim bunun için:

var dataset = [] 
d3.csv("data.csv", function(data) { 
    dataset = data.map(function(d) { return [ +d["max_i"], +d["min_i"] ]; }); 
    console.log(dataset) 
}); 

Verilerinizin döndürülür kez callback'inde içindeki veri kümesi incelemek gerekir.

+0

Teşekkürler - sorun şu anda yeni bir hata alıyorum. Konsolun yazdırdığı budur. 'Yakalanmayan TypeError: tanımsız Beispiel.html yöntemi 'harita' Aranamıyor: 63 (anonim fonksiyonu) example.html: 63 (anonim işlevi) d3.v2.min.js: 1 r d3.v2. min.js: 2 r.onreadystatechange' – araspion

+0

Cevabımı düzenledim, dikkat etmeliydim. V2 kullandığınız için, herhangi bir hata argümanı yok. –

+0

Teşekkürler - Ben burada kapsam belirleme hakkında biraz kafam karışık. Verileri, d3.csv() işlevinin dışında tanımladığım global bir değişkene atadığım halde, geri bildirimin içindeki veri kümesini neden denetlemem gerekiyor? – araspion