从CSV文件d3 v5获取和使用数据

时间:2018-10-28 20:02:46

标签: javascript d3.js

我正在尝试使用d3创建地图可视化。 我已经启用了地图,正在尝试在地图上添加点。 根据CSV文件中的某些其他数据(检查结果),我希望某些点具有不同的颜色。 我可以使用此代码添加点,但是我无法正确显示颜色(应该是红色,但所有颜色都是绿色)。我认为这是我尝试获取数据的方式的问题,或者通常是我的JavaScript的问题。任何帮助,将不胜感激。谢谢!

$arr_out = array_reduce ( 
    $arr_in, // Input Array
    function($out,$item) { 
        return 
            count(
                array_filter(
                    $out,
                    function($e) use(&$item) {
                        // Check if keys match
                        return $e["from"]["id"] == $item["from"]["id"]; 
                    }
                )
            ) > 0 ? 
            $out : 
            array_merge($out,array($item)); 
    }, 
    array() 
);

1 个答案:

答案 0 :(得分:0)

这可以通过将最后一行更改为:

.attr("fill", d => d3.color(colorr(d.InspectionScore))));

之所以起作用,是因为d3的attr允许您从函数中获取属性值。在这种情况下,您要将数据元素转换为 red blue 。这就是上述代码中箭头功能的作用。等效于:

.attr("fill", function(d) {
    return d3.color(colorr(d.InspectionScore));
    })

要深入了解D3的工作原理,可以检查tutorials