控制台说找不到变量
Console says cannot find a variable
我声明了一个变量 circles 但不知何故它没有在这里被访问(靠近文件底部)
circles.filter(function(d, i){
return d.species == species
})
我的控制台显示找不到变量:circles。我是 d3.js 和 javascript 的新手,非常感谢您的帮助!
问题是您在 d3.csv(...)
调用中定义 circles
,但随后在单独的 d3.selectAll(...)
调用中引用它。因此 circles
没有为 d3.selectAll(...)
定义,因为它超出了范围。尝试通过在 JSFiddle 的顶部定义它来使 circles
成为全局变量。然后,在不使用 var
:
的情况下对其进行初始化
circles = svg.selectAll("circle").data(data)
进行此修复后,我不再有错误并且可以过滤圈子。参见 updated JSFiddle here。
Circles 不是全局变量,因此您在文件末尾看不到它。在顶部定义它,就像您拥有其他(svg、数据、..)一样,然后您就可以访问它了。
我声明了一个变量 circles 但不知何故它没有在这里被访问(靠近文件底部)
circles.filter(function(d, i){
return d.species == species
})
我的控制台显示找不到变量:circles。我是 d3.js 和 javascript 的新手,非常感谢您的帮助!
问题是您在 d3.csv(...)
调用中定义 circles
,但随后在单独的 d3.selectAll(...)
调用中引用它。因此 circles
没有为 d3.selectAll(...)
定义,因为它超出了范围。尝试通过在 JSFiddle 的顶部定义它来使 circles
成为全局变量。然后,在不使用 var
:
circles = svg.selectAll("circle").data(data)
进行此修复后,我不再有错误并且可以过滤圈子。参见 updated JSFiddle here。
Circles 不是全局变量,因此您在文件末尾看不到它。在顶部定义它,就像您拥有其他(svg、数据、..)一样,然后您就可以访问它了。