首页 > 解决方案 > 计算 D3 中的数组并获取该数字以可视化地图点

问题描述

我正在使用 topoJson 在 D3 中进行制图可视化。我将城市可视化为具有给定半径的点。但是,我想根据我在那里有多少值(假设每个城市的幼儿园)来查看这个属性——即 Glasgow 57、Dundee 26。

在此处输入图像描述

所以我只需要计算值中有多少个数组。我已经搜索但没有找到任何合适的解决方案。

        enterSelection
           .append("circle")
           .attr("r", 4);

编辑:需要更新下面代码中的 4。如果我使用评论中给出的提示,它只会给我特定城市数组大小的半径(但每个城市我需要不同的半径)试图将属性更改为

.attr("r", d=>(d.town.values.length))

但这给了我Uncaught TypeError: Cannot read property 'values' of undefined error

标签: javascriptarraysd3.jstopojsoncartography

解决方案


这是有效的解决方案。

enterSelection
                .append("circle")
                .attr("r", d => d.values.length)

推荐阅读