gpt4 book ai didi

javascript - 将州名添加到 d3.js 中的 map

转载 作者:数据小太阳 更新时间:2023-10-29 04:22:37 24 4
gpt4 key购买 nike

我正在使用 albersUSA 投影来显示 map 。我想为每个州添加州名。

这是我尝试过的,我可以在源代码中看到状态的名称,但我没有看到它们被渲染。我做错了什么?

var width = 1060,
height = 600,

var svg = d3.select("body").append("svg")
.attr("width", width)
.attr("height", height);

svg.append("rect")
.attr("class", "background")
.attr("width", width)
.attr("height", height)
.on("click", click)
.on("mousemove", mousemove);

var g = svg.append("g")
.attr("transform", "translate(" + width / 2 + "," + height / 2 + ")")
.append("g")
.attr("id", "states");

var projection = d3.geo.albersUsa()
.scale(width)
.translate([0, 100]);

var path = d3.geo.path()
.projection(projection);

draw();

function draw(){

d3.json("readme.json", function(json) {
g.selectAll("path")
.data(json.features)
.enter()
.append("path")
.attr("d", path)
.append("svg:text")
.text(function(d){
return d.properties.name;
})
.attr("x", function(d){
return -path.centroid(d)[0];
})
.attr("y", function(d){
return -path.centroid(d)[1];
});

});
}

最佳答案

好吧,对于任何想知道的人来说,这就是我设法做到的:

function draw(){

d3.json("readme.json", function(json) {
g.selectAll("path")
.data(json.features)
.enter()
.append("path")
.attr("d", path)
.on("click", click);

g.selectAll("text")
.data(json.features)
.enter()
.append("svg:text")
.text(function(d){
return d.properties.name;
})
.attr("x", function(d){
return path.centroid(d)[0];
})
.attr("y", function(d){
return path.centroid(d)[1];
})
.attr("text-anchor","middle")
.attr('font-size','6pt');


});
}

关于javascript - 将州名添加到 d3.js 中的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13897534/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com