我想通过点击按钮传递的变量来更改数据集。d3.js noob:如何通过动态变量作为数据
下面是我在做什么,到目前为止的例子:http://jsfiddle.net/earlybirdtechie/qmC9E/
d3.selectAll('button.decadeBtn')
.on("click", function() {
var currentDecadeName = $(this).attr('data-decade');
console.log('currentDecadeName: '+ currentDecadeName);
svg.selectAll("rect.bars")
.data(currentDecadeName, function(d) { return d.id })
.transition()
.duration(1499)
.ease("bounce")
.attr({
height: function(d,i) {
return d.value;
}
})
在的jsfiddle例如,当你点击任何按钮的上方,酒吧应改变基于它的十年数据。然而,代码期望数据的名称,而不是动态变量名称。所以,如果你到js代码中的第43行并用'sevenvent'替换变量名'currentDecadeName',那么一旦单击任何按钮,条就会变成七十个数据。我怎样才能得到这个动态变量而不是静态数据变量?
当I posted this question in google groups,我被告知使用地图对象,但我是一个noob,并不清楚d3.map如何工作。
任何人都可以清除在这种情况下如何使用d3.map,或者指向我有关d3地图对象如何工作的教程?
谢谢!