D3.js 如何在美国D3地图中为州边界着色
我有一张美国D3地图。我希望能够更改给定状态的边界颜色。然而,当我执行topojson.mesh时,它似乎会在所有州边界的路径上创建。如何为每个状态创建不同的路径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.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,绿色。看起来这个问题是由元素的顺序引起的。也就是说,边界的颜色是正确的,但它前面的其他状态使其变得模糊,这使得它看起来似乎只是部分着色。将要高亮显示的图元移到前面以避免出现这种情况。关于这一点,请参见示例。