我已经嵌套了我的数据
var nested_data = d3.nest()
.key(function(d) { return d.Country; })
.entries(CSV);
并且发现如果在绑定数据时使用此函数,我可以访问数组的值
name.selectAll('.name')
.data(function(d) {
return d.values; <--- Accesses the nested data
})
.text(function(d) {
return d.Name; <--- Nested value
})
但是我在项目的其他地方使用它时遇到了麻烦。我需要的另一个嵌套值是一个名为['起点']的字符串。我怎样才能访问此值以在此d3.filter()中使用?
var filter = nested_data.filter(function(d) {
return ("Island" == d['starting point'])
});
我想试试:d.values ['起点']
甚至创建新变量
var nested_values = nested_data(function(d){return d.values});
但这些都不是有效的。我该怎么办?
答案 0 :(得分:0)
您可以在嵌套数据上过滤数据,如下所示:
nested_data.map(function(m) {
//for each group do the filter on each value
m.values = m.values.filter(function(d) {
//return true for those having starting point as island.
return d['starting point'] == 'Island';
})
})
工作代码here