我想在我正在開發的一個相當簡單的d3可視化中手動調整縮放級別。請參閱:http://jsfiddle.net/TXPcM/D3行爲變焦手動調整
縮放和平移後(使用Shift +單擊縮小)按下「默認縮放」按鈕,然後嘗試再次平移。你會注意到一個令人震驚的轉變,因爲它「重置」到按鈕按下之前的狀態。
該代碼是一個原型和相當長的嗦 - 但尋找applyZoom函數。這裏的意圖是重新應用縮放行爲,因此希望清除它可能使用的任何緩存值。似乎沒有工作。建議?
我想在我正在開發的一個相當簡單的d3可視化中手動調整縮放級別。請參閱:http://jsfiddle.net/TXPcM/D3行爲變焦手動調整
縮放和平移後(使用Shift +單擊縮小)按下「默認縮放」按鈕,然後嘗試再次平移。你會注意到一個令人震驚的轉變,因爲它「重置」到按鈕按下之前的狀態。
該代碼是一個原型和相當長的嗦 - 但尋找applyZoom函數。這裏的意圖是重新應用縮放行爲,因此希望清除它可能使用的任何緩存值。似乎沒有工作。建議?
做到這一點的方法是修改你的縮放對象,而不是僅僅修改(或在您的情況下重新創建縮放)。
因此,抓住你zoom
對象,並做到以下幾點:
zoom.translate([x,y])
.scale(scale);
我不敢看你的代碼,但這個D3谷歌組線程都有你正在尋找的答案,我想: https://groups.google.com/d/topic/d3-js/-qUd_jcyGTw/discussion
請直接包含在你的問題,從的jsfiddle代碼。 – 2012-08-15 09:23:43