【问题标题】:D3 cartogram.js contiguous cartogram values not reflectedD3 Cartogram.js 连续制图值未反映
【发布时间】:2023-07-02 03:17:01
【问题描述】:

我正在基于this example 使用 Cartogram.js 为 D3 构建一个连续的入境难民人数图表。

当我只使用难民号码时,地图不会移动。 Base refugee number

但是当我在线向“r”添加任意数字时,它可以工作。并且任意数字越高,变化越剧烈。 Example 1 Example 2

这是为什么?是因为我的一些值是0,还是因为方差太大?

【问题讨论】:

    标签: javascript d3.js topojson cartogram


    【解决方案1】:

    在开始这个问题后不久,我和一个朋友找到了答案。我们怀疑这是我的数据集的零值和极端方差。添加比例似乎已经对其进行了排序。他们在示例中也这样做了,我只是没有注意到。

    // 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));
        });
    

    【讨论】: