Dictionary 无法在d3.geo地图中显示csv数据

Dictionary 无法在d3.geo地图中显示csv数据,dictionary,d3.js,topojson,Dictionary,D3.js,Topojson,我试图在我的地图中显示csv数据。我从json数据创建的地图。但现在它不显示任何csv数据,只显示json数据 tootip.html(“地区:”+“\n”+d.id+d.Family\u Feud\m) 这里d.id的“id”来自json文件,d.Family_Feud_m的“Family_Feud_m”来自csv文件 以下是我的完整js代码: var Districts=[]; var bardata = []; var width = 500, height = 700; va

我试图在我的地图中显示csv数据。我从json数据创建的地图。但现在它不显示任何csv数据,只显示json数据

tootip.html(“地区:”+“\n”+d.id+d.Family\u Feud\m) 这里d.id的“id”来自json文件,d.Family_Feud_m的“Family_Feud_m”来自csv文件

以下是我的完整js代码:

var Districts=[];

var bardata = [];

var width = 500,
    height = 700;
var scal = 5000;

var tootip = d3.select('body')
            .append('div')
            .style('position','absolute')
            .style('padding','0 10px')
            .style('background','white')
            .style('opacity',0)


var projection = d3.geo.mercator()
    .scale(scal)
    .translate([-76.5/50.0 * scal, scal/2-scal/55]);

var path = d3.geo.path()
    .projection(projection);

var svg = d3.select(".viewer")
    .append("svg")
    .attr("width", width)
    .attr("height", height);

function redrawMap()
{
      svg.selectAll(".subunit")
        .style('fill',function(d){
            amount = Districts[d.id];
            if(amount == 0 || amount== undefined)
                return 'rgba(0,0,0,0.5)';

            return 'rgba(43,120,200,'+amount*1.0/10.0+')';
        });

}


 d3.csv('./data/resultsuicide.csv',function(data){
    console.log(data)
    for(key in data) {
        bardata.push(data[key].value)
    }


d3.json("./data/bd.json", function(error, bd) {
  svg.selectAll(".subunit")

      .data(topojson.feature(bd, bd.objects.subunits).features)
    .enter().append("path")
      .attr("class", function(d) { return "subunit " + d.id; })
      .attr("d", path)
      .on('mouseover',function(d){

        tootip.transition()
        .style('opacity',.9)
        tootip.html(" District :"+"\n" +d.id +d.Family_Feud_m)
        .style('left',(d3.event.pageX-35)+'px')
        .style('top',(d3.event.pageY-30)+'px')
        tempcolor = this.style.fill;
        d3.select(this)

        .style('opacity',.5)
        .style('fill','green')

    })

    .on('mouseout',function(d){
        d3.select(this)

        .style('opacity',1)
        .style('fill',tempcolor)
    })


    redrawMap();
});


});

//提前感谢

绑定到html元素的唯一数据来自.json数据。你从不将你的bardata绑定到“tootip”。由于要加载多个数据,我会选择Mike Bostock的
queue.js
这样的:
queue().defer(d3.csv,./data/resultsuicide.csv')。defer(d3.json,“./data/bd.json”)。wait(myfunction)
以类似于
forEach
循环的方式将您的csv
Family\u Feud\m
绑定到您的
json
数据,然后您可以按照@ee2Dev的建议将数据传递到工具提示。