Javascript 如何使用d3在数据中选择类别
我是D3的初学者,任何帮助都将不胜感激 在该图表中,为“wins”类别的每个条目生成一个圆。因此,在本例中,有4个圆以不同的半径生成 我想返回“wins”的数据,但只返回“最佳图片”类别的数据。在这种情况下,只会生成2个圆圈。这可以通过添加到函数--.attr('r',函数(d){return radiuscale(d.wins);})来实现吗?如果可以,我应该更改什么Javascript 如何使用d3在数据中选择类别,javascript,d3.js,Javascript,D3.js,我是D3的初学者,任何帮助都将不胜感激 在该图表中,为“wins”类别的每个条目生成一个圆。因此,在本例中,有4个圆以不同的半径生成 我想返回“wins”的数据,但只返回“最佳图片”类别的数据。在这种情况下,只会生成2个圆圈。这可以通过添加到函数--.attr('r',函数(d){return radiuscale(d.wins);})来实现吗?如果可以,我应该更改什么 var data = [ {decade: '1920s', category: 'Best Picture'
var data = [
{decade: '1920s', category: 'Best Picture', wins: 2, nominations: 3},
{decade: '1920s', category: 'Best Director', wins: 1, nominations: 9},
{decade: '1930s', category: 'Best Picture', wins: 3, nominations: 6},
{decade: '1930s', category: 'Best Director', wins: 1, nominations: 7},
];
var radiusScale = d3.scale.sqrt().domain([0, 40]).range([0, 40]);
d3.select('svg')
.selectAll('circle')
.data(data)
.enter()
.append('circle')
.attr('r', function(d) {return radiusScale(d.wins);})
.attr('cx', function(d, i) {return i * 80 + 50;})
.attr('cy', 50);
使用该函数仅获取所需的数据元素:
d3.select('svg')
.selectAll('circle')
.data(data.filter(function(d) { return d.category == "Best Picture"; }))
.enter()
...