2017-03-19 8 views
0

d3を使用してtsvファイルから文字列の配列を取得しようとしています。私の目標は、私のtsv fieの列labelに含まれるすべての文字列に等しいグローバル変数を定義することです。d3でtsvから文字列の配列を取得

以下の方法を試してみると、ページに表示されるのはNaNです。 d3を使用して、tsv列に含まれるすべての文字列をフェッチし、配列として定義するにはどうすればよいですか?例

labels = ["label1", "label2", label2",...]

d3.tsv("newdata.tsv", function(error, data) 
{ 
    var labels=0; 
    data.forEach(function(d) 
    { 
    d.label = +d.label; 
    labels = labels + d.label; 
    }) 
    document.write(labels); 
}); 

答えて

0
  1. のためにあなたは正しく配列を作成されていません。 var labels = []

  2. 値を配列に正しく追加していません。 .push

  3. 文字列を扱うだけなので、+演算子は必要ありません。 +演算子は、数値に値を強制します。以下のコードの作業

d3.tsv("https://gist.githubusercontent.com/mbostock/3305937/raw/a5be7c5fd55c4fa0ca8a400cb68d658a40989966/data.tsv", function(error, data) { 
    var labels = []; 
    data.forEach(function(d) { 
    d.x = d.x; 
    labels.push(d.x); 
    }) 
    console.log(labels); 
}); 

JSFiddle - https://jsfiddle.net/cpdafLpf/

+0

をこれが働いているが、私はちょうど 'NaN'の配列を取得します。私はファイルをダブルチェックし、その列には必ず文字列が含まれています。 –

+0

文字列の代わりに値が 'NaN'として読み込まれる理由はありますか? –

+0

@the_darkside apologies、この場合は不要な '+'演算子を削除するのを忘れました。 – sparta93

関連する問題