根据this example的说法,我一直在尝试创建一个D3合唱团。除了如何创建如下所示的unemployment.tsv
之外,我已经了解了所有内容:
id rate
1001 .097
1003 .091
1005 .134
1007 .121
... ...
进一步挖掘之后,我发现I是对某些d3图形对象的引用。我的问题是,是否有一种简单的方法来设置这些it的IDS值,或者我必须手动完成?
如果可能的话,我正在寻找一个像Google Charts一样简单的方法。
发布于 2013-07-14 15:19:52
用于绘制地图的us.json
文件包含有关各县轮廓及其FIPS code的信息
{"type":"Polygon","arcs":[[250,-204,-17]],"id":30047}
unemployment.tsv
的每一行代表一个县,包含它的FIPS代码和失业率。加载文件时,将从对象数组转换该文件:
> unemployment
[{id: '1001', rate: '.097'},
{id: '1004', rate: '.091'},
{id: '1005', rate: '.134'},
... ]
以key为县id,rate为值的对象:
var rateById = {};
unemployment.forEach(function(d) { rateById[d.id] = +d.rate; });
> rateById
{1001: .097,
1004: .091,
1005: .134}
( +d.rate
as将失业字符串转换为数字。)
一旦完成,给每个县着色就很简单了,只需用形状的id在rateById
中找到相应的失业率,并用color
scale将该数字转换为颜色即可。
.style("fill", function(d) { return color(rateById[d.id]); });
更直接地回答您的问题:您可能希望使用国家/地区FIPS码code您的县*级数据,并使用它为您的地图上色。如果您不使用按县数据,您可以尝试转换它(将经度/经度或城市/州映射到县)或完全使用另一种地图(有关世界地图,请参阅this example和下面的注释)。
*我没有任何类型的地理信息系统背景-每次我尝试这样做时,我最终都会使用旧的FIPS代码->县名称查询表,并且必须手动更正几个;在NIST网站上可能有更好的源文件,但我一直找不到。
https://stackoverflow.com/questions/17639755
复制相似问题