d3.js如何为国家/地区地图中的每个州创建单独的元素?

时间:2016-03-25 13:35:58

标签: javascript d3.js

我想在印度地图中将风格应用于不同的状态:目前,基于某些数据,某种颜色的颜色较暗。

首先,我认为我需要为每个状态创建一个单独的元素,然后将其填充颜色设置为我的数据的函数。

我真的很陌生。所以这可能很容易回答。我无法理解。

我试图复制Bostock的代码,为英国的每个国家创建一个单独的路径元素:

svg.selectAll(".subunit")
.data(topojson.feature(uk, uk.objects.subunits).features)
.enter().append("path")
.attr("class", function(d) { return "subunit " + d.id; })
.attr("d", path);

我有一个名为indiastates.geojson的geojson文件。州似乎被标记为:“NAME_1”:“Andaman和Nicobar”。

我的代码中.data行需要说什么?我一直收到错误,说topojson(或者geojson,如果我将topjson更改为geojson)是未定义的。

我也想知道这是不是在做同样的事情?

var areas = group.append("path")
.attr("d", path)
.attr("class", "area")
.attr("stroke", "black")
.style("fill", "rgb(255, 102, 102)");

1 个答案:

答案 0 :(得分:0)

听起来你想要做的就是创造一个" choropleth"美国地图如果您有topojson州文件,那么这是一个很好的起点,但可能需要转换为CSV。不幸的是,自从我创建一个等值时间已经2年多了,我用D3js之外的其他东西做了。幸运的是,有各种各样的教程。只需在谷歌中搜索D3"中的状态"等值线图。 (没有引号)