我正在构建一个入境难民人数的连续制图,基于此示例,使用用于 D3 的 Cartogram.js。
当我只使用难民号码时,地图不会移动。 基本难民人数
但是当我在线添加一个任意数字到“r”时,它就可以工作了。并且任意数字越高,变化越剧烈。 示例 1 示例 2
为什么是这样?是因为我的某些值是 0,还是因为方差太高?
在开始这个问题后不久,我和一个朋友找到了答案。我们怀疑这是我的数据集的零值和极端方差。添加比例似乎已经对其进行了排序。他们在示例中也这样做了,我只是没有注意到。
// normalize the scale to positive numbers
var scale = d3.scale.linear()
.domain([lo, hi])
.range([1, 1000]);
// tell the cartogram to use the scaled values
carto.value(function(d) {
return scale(value(d));
});