1

D3.js で世界地図を作成しようとしており、複数の CSV ファイルを queue.js 経由で個別にロードしています。ただし、パス ID に CSV 値を添付することはもちろん、json ジオメトリをレンダリングすることもできません。

queue.js メソッドを使用しない場合、SVG は次のメソッドを使用してブラウザに完全にロードされます。

     d3.json("world-50m.json", function(error, world) {

       svg.append("g")  
        .selectAll("path")
          .data(topojson.feature(world,world.objects.countries).features)
        .enter().append("path")
          .attr("class","land")
          .attr("d", path)
       })

しかし、ここで従った queue.js メソッドは SVG をレンダリングしません。

初め:

    queue()
      .defer(d3.json, "world-50m.json")
    //.defer(d3.csv, "gni.csv", function(d) {rateById.set(d.id, +d.value);})
      .await(ready);

それで:

      function ready(error, world){
         svg.append("g")  
          .selectAll("path")
            .data(topojson.feature(world,world.objects.countries).features)
          .enter().append("path")
            .attr("class", "land")
        //  .attr("class", function(d) {return quantize(rateById.get(d.id));})
            .attr("d", path)

       }

誰かが私が犯した可能性のある間違いについて教えてもらえますか? これは、json ファイル構造のスニペットです。

            {
      "type":"Topology",
      "transform":{
        "scale":[0.03600360036003601,0.017366249624962495],
        "translate":[-180,-90]
      },
      "objects":{
        "countries":{
          "type":"GeometryCollection","geometries":[
              {"type":"Polygon","arcs":[[0,1,2,3,4,5]],"id":"Afghanistan"},...
4

0 に答える 0