クリックしたボタンから渡された変数を介してデータセットを変更しようとしています。
これまでに私が行っていることの例を次に示します: 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 の例では、いずれかのボタンをクリックすると、その 10 年のデータに基づいてバーが変化するはずです。ただし、コードは動的変数名ではなく、データの名前を想定しています。したがって、js コードの 43 行目に移動し、変数名 'currentDecadeName' を 'seventies' に置き換えると、いずれかのボタンがクリックされるとバーが 70 年代のデータに変わります。これを静的データ変数ではなく動的変数で動作させるにはどうすればよいですか?
この質問を google groups に投稿したとき、 map オブジェクトを使用するように言われましたが、私は初心者であり、 d3.map の仕組みがわかりません。
この状況で d3.map を使用する方法を誰かが明らかにしたり、マップオブジェクトが d3 でどのように機能するかについてのチュートリアルを教えてもらえますか?
ありがとう!