d3で作業を開始しました。 私は2つのデータセットを持っています.1つはtsvにあり、もう1つはjsonにあり、同じ内容です。d3.maxがtsvとjson(同じ内容)の値を返します
TSV:TSV用
x y
1 5
5 15
99 105
101 104
マイコード:X = 99のため、この場合に
<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戻り、Y = 5
私は同じことを行うとハードコードされたjson構造で:
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; }));
x = 101、y = 105の正しい値を返します。
何が間違っていますか?私がチェック 、そのTSVファイルは、他の人がコメントで言ったように値
:
これを試してください。これを行うには、値を強制するために、各行に動作するaccessor関数を渡します' – murli2308
TSVバージョンは値を数値に変換しないため、最大計算は文字列値に対して実行されます。文字列の比較はNumberの比較とは異なるため、異なる結果が得られます。 – meetamit