【问题标题】:d3.js How to create a separate element for each state in a country map?d3.js 如何为国家地图中的每个州创建单独的元素?
【发布时间】:2016-03-25 13:35:58
【问题描述】:

我想将样式应用于印度地图中的不同州:目前,基于某些数据的某种颜色的较深阴影。

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

我对此真的很陌生。所以这可能很容易回答。我想不通。

我尝试复制 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”:“安达曼和尼科巴”。

.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)");

【问题讨论】:

标签: javascript d3.js


【解决方案1】:

听起来您想要做的是创建美国的“choropleth”地图。如果您有一个 topojson 州文件,这是一个很好的起点,但可能需要将其转换为 CSV。不幸的是,我创建 choropleth 已经 2 年多了,而且我是用 D3js 以外的东西来做的。幸运的是,有各种各样的教程。只需在 Google 中搜索“D3 中各州的等值线图”(不带引号)

【讨论】:

    猜你喜欢
    • 2015-04-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-05
    • 2015-09-23
    相关资源
    最近更新 更多