D3.js 如何在美国D3地图中为州边界着色

D3.js 如何在美国D3地图中为州边界着色,d3.js,D3.js,我有一张美国D3地图。我希望能够更改给定状态的边界颜色。然而,当我执行topojson.mesh时,它似乎会在所有州边界的路径上创建。如何为每个状态创建不同的路径 d3.json("../json/us_states_topo.json", function(error, us) { var features = svg.append("g"); features .attr("class", "state") .

我有一张美国D3地图。我希望能够更改给定状态的边界颜色。然而,当我执行topojson.mesh时,它似乎会在所有州边界的路径上创建。如何为每个状态创建不同的路径

d3.json("../json/us_states_topo.json", function(error, us) {                
    var features = svg.append("g"); 
    features
        .attr("class", "state")
        .selectAll("path")
        .data(topojson.feature(us, us.objects.layer1).features)
        .enter().append("path") 
        .attr("d", path)
        .attr("id", function(d) {  
            return d.properties.STATE;
        })
        features.append("path")
            .attr("class",function(d) { return "state-boundaries";})
            .datum(topojson.mesh(us, us.objects.layer1, function(a, b) { return a !== b }))
            .attr("d", path)

您是否尝试过使用类似的
topojson.features
?谢谢,这很有帮助。我现在已经知道了如何给各州单独的边界上色。但由于某些原因,它没有得到整个边界。请参见本例中的VT和ME,绿色。看起来这个问题是由元素的顺序引起的。也就是说,边界的颜色是正确的,但它前面的其他状态使其变得模糊,这使得它看起来似乎只是部分着色。将要高亮显示的图元移到前面以避免出现这种情况。关于这一点,请参见示例。