4

D3にjsonファイルをインポートするにはどうすればよいですか?

やったd3.json("temp.json");

しかし、追加のコードでこのデータ セットにアクセスするにはどうすればよいでしょうか。

これまでのところ、私は試しました:

var data=d3.json("temp.json");

しかし、残りのコードでは .data(data) を使用しても機能しませんでした。たとえば、ここ

var rows = g.selectAll("g.row")
.data(data)
.enter().append("g")
.attr({
  "class": "row",
  "transform": function(d, i) {
    var tx = 170 + i * squareWidth;
    var ty = 150;
    return "translate(" + [tx, ty] + ")"
  }
});

データにアクセスできません。jsonを変数にコピーして貼り付けたところ、うまくいきました。したがって、データ自体には問題はありません。

4

1 に答える 1

9

関数d3.json()は非同期です。dataしたがって、変数を読み取る前に、データが受信されるのを待つ必要があります。d3.json()これが、非同期データを扱うときに、関数 内ですべてを行うことが慣行である理由です。

d3.json("temp.json", function(error, data){
    //use data here
})
// do not use data anymore
于 2013-04-18T05:23:51.713 に答える