我学习D3,到目前为止,我有一个基本的应用程序,显示美国地图,当用户将鼠标移动到一个状态时,它增加了文字识别元素。我想要做的也是在被挖空之后,国家变成另一种颜色。我至今:D3 - 通过数据
var svg = d3.select("body")
.append("svg")
.attr("width", 500)
.attr("height", 500);
d3.json("/HelloWorld/data/states.json", function(data) {
var projection = d3.geo.albersUsa().translate([250,250]).scale(650);
var path = d3.geo.path().projection(projection);
svg.selectAll("path")
.data(data.features)
.enter()
.append("path")
.attr("d",path)
.attr("fill", "red")
.attr("stroke", "blue")
.on("mouseover", function(d, i) {
d3.select("body").append("text").html("</br>"+d.properties.NAME);
});
的问题是,虽然我可以参照的数据与d
,我需要能够参考的路径对象,以改变填充属性,我不确定如何从数据中获取实际的SVG元素。
检查:http://bl.ocks.org/michellechandra/0b2ce4923dc9b5809922 –
的'this'关键字是指数据元素被鼠标滑过。 – Mark