遇到我之前制作的气泡图中未发生的错误。我使用了相同的代码,但只是以相同的结构(包括纬度和经度坐标)切换了新数据。
这是控制台中的错误:
TypeError: Cannot read property '0' of null
at SVGCircleElement.<anonymous> (bubbleMap_top_100_gun_dealing_cities.html:108)
at SVGCircleElement.<anonymous> (d3.v4.min.js:2)
at ut.each (d3.v4.min.js:2)
at ut.attr (d3.v4.min.js:2)
at bubbleMap_top_100_gun_dealing_cities.html:107
at Object.<anonymous> (d3.v4.min.js:2)
at k.call (d3.v4.min.js:2)
at XMLHttpRequest.e (d3.v4.min.js:2)
这是相关代码的一部分:
var bubbles = svg.append('g')
.attr('class', 'bubble')
.selectAll('circle')
.data(data)
.enter()
.append('circle')
.attr('cx', function(d) {
return projection([d.lon, d.lat])[0];
})
.attr('cy', function(d) {
return projection([d.lon, d.lat])[1];
})
我以前的地图使用相同的代码,没有这样的问题。
如果我尝试的话,圆圈确实会画在页面的一角:
.attr('cx', function(d) {
return projection([d.lon, d.lat][0]);
})
.attr('cy', function(d) {
return projection([d.lon, d.lat][1]);
})
有什么想法吗?
更新:CSV中有一个空值! h。