我宣布了一个变量圈,但不知何故它在这里没有被访问(靠近文件的底部)
circles.filter(function(d, i){
return d.species == species
})
我的控制台说它无法找到变量:圆圈。我是d3.js&amp ;;的新手。 javascript所以任何帮助都非常感谢!
答案 0 :(得分:0)
问题是您在circles
来电中定义d3.csv(...)
,然后在单独的d3.selectAll(...)
来电中引用它。因此circles
未定义d3.selectAll(...)
,因为它超出了范围。尝试将circles
定义为JSFiddle顶部的全局变量。然后,在不使用var
的情况下初始化它:
circles = svg.selectAll("circle").data(data)
我做了这个修复后,我不再有错误,可以过滤圈子。请参阅updated JSFiddle here。
答案 1 :(得分:0)
圈子不是全局变量,因此您无法在文件末尾看到它。像在其他地方(svg,data,..)一样在顶部定义它,然后你就可以访问它了。