2013-03-27 82 views
0

根據酒吧的長度,我在縮放我的圖時遇到了一些麻煩。例如,在jsfiddle中,我無法在大小爲25的數據點之外繪製一個條。我知道解決這個問題的一種方法是使身體的寬度和高度更大。但我認爲縮放整個圖會更有效率,所以一個酒吧不會看起來異常大。D3:根據數據點的比例圖

http://jsfiddle.net/NkkDC/

我在想,我會在這裏縮放「Y」的功能,但我不知道怎麼樣。提前:)

bars.on("click", clickEvent) 
    .transition().duration(2000).delay(200) 
    .attr("y", function(d, i) { return i * 20; }) 
    .attr("width", x) 
    .attr("height", 20); 

感謝

回答

1

您的xScale等可以改變每次添加一個新的值(因爲你可以添加一個新的最大)時間的輸入域,因此我們需要我們的時候重新計算使用XScale重新渲染圖表。移動X規模的聲明渲染函數中應該做的伎倆:

var xScale = d3.scale.linear() 
.domain([0, d3.max(data)]) 
.range([0, 420]); 

http://jsfiddle.net/NkkDC/1/

+0

謝謝! :)正是我需要的! – user2159121 2013-03-27 21:13:05