2017-01-11 18 views
0

私はこのd3.jsビジュアライゼーションに私自身のデータをロードしようとしていますが、エラーUndefined is not a functionが続きます。唯一の違いはなく、彼らがしたようfreqDataを定義するので、私はデータファイルから未定義は関数エラーではありませんd3js

var freqData = d3.json("//sjs72/Users/ksdf/file.json", function(fdata) { 
    console.log(fdata[0]); 
}); 

をロードするために鉱山を定義し、ということであることは、誰もが、私は「どこに私は理解して助けてもらえ

fData.forEach(function(d){d.total=d.freq.low+d.freq.mid+d.freq.high;}); 

ラインで起こります間違ってる?

EDIT:私が行う呼び出しはダッシュボード( '#dashboard'、freqData)です。

私は私の変数の定義を変更したコードは

var freqData; 
    function doSomethingWithData() { 
    console.log(freqData); 
} 

d3.json("//sjs72/Users/ksdf/file.json", function(dataFromServer) { 
    freqData = dataFromServer; 
    doSomethingWithData(); 
} 

dashboard('#dashboard',freqData); 

のように見えます。しかし、今、私は」:関数ダッシュボードは、この場合には、私は

アップデートにfreqDataをロードしていますFDATAは、引数を取りますmはちょうど私のスクリプトの最後の行でエラー

Uncaught SyntaxError: Unexpected identifier 

を取得

+0

「freqData」内の関数内でエラーが発生しているとしますか?エラーによると、 'fData'は定義されていません。ブレークポイントを入れて、何が起こっているかを見てください。 – krillgar

+0

データを 'freqData'に代入して' fData'を参照しようとしているのでしょうか? – nvioli

+2

あなたの仮定は間違っています: 'd3.json()'は値を返さない非同期関数です。 [* "d3.json()" *(/ q/12656580)から配列を返すを参照してください。 – altocumulus

答えて

1

d3.json()コールの閉じ括弧がありません。それは非常によくあなたのために問題を作り出しているかもしれません。修正されたコード:

var freqData; 
    function doSomethingWithData() { 
    console.log(freqData); 
} 

d3.json("//sjs72/Users/ksdf/file.json", function(dataFromServer) { 
    freqData = dataFromServer; 
    doSomethingWithData(); 
    } 
); // Added this here 
dashboard('#dashboard',freqData); 
関連する問題