我正在做d3可视化工作。我想在鼠标悬停时更改路径笔划颜色。 但我遇到了一个问题。路径行程的内环成功变色;然而,外圈只是改变了一点点。由于我是stackoverflow的新手,我没有足够的声誉发布图片。 例如,请参阅以下链接:
当鼠标悬停在一个戒指上时。只有内圈改变了笔触颜色,外圈只改变了一点点。 我使用这段代码:
d3.select(this).style("stroke","blue");
我的代码是正确的,因为我尝试了示例topojson file,笔划已成功更改。
BTW,我将原始形状文件转换为topojson文件,如下所示:
ogr2ogr -f GeoJSON destination.json source.shp <- to change from shape to json
topojson -p xxx -o destination.topo.json source.json <- to change from json to topojson
我不知道为什么外环的行程不会改变?
它与形状文件有关吗?也许形状文件有问题?我猜?
提前致谢!
以下是此问题的代码。我
d3.json("js/all_land.json", function(error, topology) {
svg.selectAll("path")
.data(topojson.feature(topology, topology.objects.all_land).features)
.transition()
.duration(1000)
.attr("d", path);
svg.selectAll("path").on("mouseover", function(d) {
d3.select(this).style("stroke","blue");
//d3.select(this).attr("fill", "lightblue");
})