学习d3js,我正在学习很多教程。现在,我能够从一个json文件中创建一个简单的美国地图,所有州的颜色都一样。我发现了很多创建choropleth地图的教程,但是我只想手动显示这个地图中的一个状态(比如阿拉巴马州,这是json文件中的第一个特性)。
这是目前为止的代码:
var w = 500;
var h = 300;
var svg = d3.select("body")
.append("svg")
.attr("width", w)
.attr("height",h);
var projection = d3.geo.albersUsa().translate([w/2,h/2]).scale([500]);
var path = d3.geo.path().projection(projection);
d3.json("us-states.json", function(json){
svg.selectAll("path")
.data(json.features)
.enter()
.append("path")
.attr("d",path)
.style("fill","teal");
});而json具有以下结构:
{"type":"FeatureCollection","features":
[{"type":"Feature","id":"01","properties":{"name":"Alabama"},"geometry":
{"type":"Polygon","coordinates":[[[-87.359296,35.00118], [-85.606675,34.984749],[-85.431413,34.124869],[-85.184951,32.859696],...我不知道从哪里开始。我需要第二个d3.json函数(仅以阿拉巴马州为选择路径),还是可以使用已经存在的d3.json函数?
发布于 2016-02-02 13:35:32
我想你可以添加这样的东西:
svg.selectAll("path")
.attr("fill", function(d) {
if(d.id === '01'){
return #COLOUR;
}
});https://stackoverflow.com/questions/35153732
复制相似问题