2015-09-19 61 views
0

我无法在我的地图工具提示中显示我的数据,下面的代码返回一个“未定义的”。但是,我可以在控制台中查看我的费率。D3 Choropeth地图的工具提示问题

我在做什么错?

queue() 
    .defer(d3.json, "data/provincesCanada.json") 
    .defer(d3.csv, "data/data.csv", function(d) { rateById.set(d.id, +d.rate); 
    console.log(d.rate) }) 
    .await(ready); 

var tip = d3.tip() 
    .attr('class', 'd3-tip') 
    .offset([-10, 0]) 
    .html(function(d) { 
    return "<strong>Province</strong> : " + d.rate"; 
    }) 
    svg.call(tip); 

完整的代码是在这里:http://bl.ocks.org/fdaudens/41a1fa381783ecd8d9ef

预先感谢您。

+0

你能分享一个更完整版本的代码吗?像一个jsfiddle或类似的东西... –

+0

当然!完整的要点在这里:http://bl.ocks.org/fdaudens/41a1fa381783ecd8d9ef – Flo

回答

0

您面临的问题是工具提示附加到省份数据,而不是税率CSV文件的数据。

因此.html函数中的变量d不包含您期望的内容。以下应该工作:

.html(function(d) { 
    return "<strong>Province</strong> : " + rateById.get(d.id); 
}) 

你可以看到它在这个fork of your gist行动。

+0

精彩,它的作品就像一个魅力!我需要更好地了解rateById。非常感谢你。 – Flo