我正在使用D3 v4。我有一個使用scaleBand()
用x軸創建的條形圖。現在,我創建了一個y軸,但我的問題是,無論我如何定位它,它都會切入圖的實際條。在D3 v4中,我應該如何正確對齊座標軸?
在我的JS文件的頂部,我有:
變種寬度= 350; var height = 300;
然後,在我實際創建Y軸的部分:
var y = d3.scaleLinear()
.domain([0, 300000])
.rangeRound([height, 0]);
var yAxis = d3.axisRight(y);
yAxis.ticks(6);
chart.append("g")
.attr("class", "y axis")
.attr("transform", "translate(" + (width - dist_from_right) + ", 0)")
.call(yAxis);
正如你可以從圖片中看到,軸延伸的SVG的高度的整體性,從底部到頂部意味着0的一半被切斷,30萬的一半被切斷。
第一個問題:如何「擠壓」(或縮放)y軸,使其顯示在SVG的範圍內?
接下來,我想翻譯Y軸,以便它不切入我的紅色條。如果我嘗試使用transform
屬性,我可以將軸向遠處推到SVG邊界的右側,但這意味着數字離開SVG邊界。我也嘗試增加width
變量,但它什麼都不做,因爲它只是按比例延伸x軸。
第二個問題:如何移動y軸,使其不會切入x軸和紅色條,並且在SVG窗口中仍然可見?
謝謝!
我想你應該建立一個[MCVE] –