2013-07-25 32 views
0

D3的過渡,我來到這裏表明我在D3中創建一個排序熱圖:http://bl.ocks.org/umcrcooke/5703304難度與排序熱圖

當我點擊年(列)的初始排序/過渡效果很好,但隨後的點擊度假勝地,但沒有過渡。我在排除故障時遇到了問題。過渡的代碼如下:

我已經設定,使得點擊該列文本時更新函數執行:

.on("click", function(d,i) { return d3.transition().each(update(d));}); 

而且更新功能的相關作品是:

function update(year) { 

grid.selectAll('rect') 
.transition() 
.duration(2500) 
.attr("y", function(d) { return (sortOrder[year].indexOf(d.Country))*cell.height; }) 

grid.selectAll(".cell_label") 
.transition() 
.duration(2500) 
.attr("y", function(d) { return (sortOrder[year].indexOf(d.Country))*cell.height +  (cell.height-cell.border)/2; }) 

d3.selectAll(".row_label") 
.sort(function(a, b) { 
     return d3.ascending(+a[year], +b[year]); 
     }) 
.transition() 
.duration(2500) 
.attr("y", function(d, i) { return (i*cell.height) + (cell.height-cell.border)/2; }); 
} 

回答