d3 ile çalışmaya başladım. Aynı içeriğe sahip, biri tsv ve diğeri json olmak üzere iki veri kümem var.d3.max, tsv ve json için farklı değerler döndürür (aynı içerik)
TSV: TSV
x y
1 5
5 15
99 105
101 104
My kodu: x = 99 için, bu durumda
<script>
d3.tsv("data/data.tsv", function(error, data) {
console.log(d3.max(data, function(d) { return d.x; }));
console.log(d3.max(data, function(d) { return d.y; }));
});
</script>
d3.max dönüşleri, ve y = 5
i aynı ne zaman kodlanmış json yapısıyla:
var data = [
{ "x" : 1, "y" : 5 },
{ "x" : 5, "y" : 15 },
{ "x" : 99, "y" : 105 },
{ "x" : 101, "y" : 104 },
];
console.log(d3.max(data, function(d) { return d.x; }));
console.log(d3.max(data, function(d) { return d.y; }));
doğru değerleri döndürür, x = 101, y = 105.
Neyi yanlış yapıyorum? Kontrol ettim , o tsv dosya diğerleri yorumlarda söylediğimiz gibi değerler
tsv dizisi kullanımı 'd3.tsv.parse olarak tedavi (string [malzem]) ' – murli2308
TSV sürümü değerleri sayılara dönüştürmez, bu nedenle maksimum hesaplama dize değerleri üzerinde gerçekleştirilir. Dize karşılaştırmaları Sayı karşılaştırmalarından farklı çalışır, böylece farklı bir sonuç elde edersiniz. – meetamit