我試圖建立一個似乎是美國基本的D3地圖,其中有9個人口圈最多的城市,但是已經提出了一個非常明顯而又混亂的問題。爲什麼這些9個美國城市在D3地圖上與他們的實際位置不一致時,我使用Albers USA投影的long/lat來繪製它們?
我使用的是阿爾伯斯美國投影,一個美國各州GeoJSON的文件和的.csv,包括:
- 城市名稱
- 2014年人口估計
- 緯度
- 經度
我已經使用Google Fusion表格的地理編碼功能計算了長/緯度值,並且它們與Scott Murray's D3 book github page上的值相匹配。
當我試圖在每個城市應該繪製一個圓圈時,幾乎每一個圓圈都是不合適的。在我試圖策劃的9個城市 - 紐約市,費城,芝加哥,休斯敦,達拉斯,聖安東尼奧,鳳凰城,聖地亞哥,洛杉磯 - 只有紐約和費城顯示出相對完整。芝加哥轉向明尼阿波利斯。聖地亞哥和洛杉磯亂七八糟。德克薩斯州和亞利桑那州的城市已經完全從其州內消失。
這裏的d3.csv代碼:
d3.csv("city_pop.csv", function(data){
console.log(data);
var rScale = d3.scale.linear()
.domain([0, d3.max(data, function(d){
return parseFloat(d.estimate_2014);
})])
.range([1,15]);
dataset = data;
svg.selectAll("circle")
.data(dataset)
.enter()
.append("circle")
.attr({
"cx": function(d) { return projection([d.lon, d.lat])[0];},
"cy": function(d) { return projection([d.lon, d.lat])[1];},
"r": function (d) { return rScale(parseFloat(d.estimate_2014));}
})
.style({
"fill": "red",
"opacity": 0.8
});
});
這裏的要點是:http://bl.ocks.org/iblind/2e90a6f516fee793380e
我一直在玩這個一整天。有沒有人有任何想法?我一直把頭撞在牆上,感覺像是永遠,而且完全迷失了。
TL;博士:爲什麼在這個D3地圖城市 http://bl.ocks.org/iblind/2e90a6f516fee793380e沒有露面,他們 應該顯示出來?
請將您的代碼_添加到問題_,而不是鏈接到外部網站。 – xxbbcc
@xxbbcc謝謝,我添加了d3.csv()代碼。 – scrollex