我剛剛開始使用d3.js,並且在完成我的工作時遇到了一些麻煩。縮放/重繪d3.js網格線放大/拖動
現在我創建了一個帶兩個y軸的圖表,每個圖表顯示一些值,x軸顯示日期。
點擊y軸上的值,我會顯示相應的水平網格線。
我的問題是,當放大或縮小或拖動時,網格線(水平和垂直)不能正確縮放軸值,它們根本就不會移動。
我今天下午搜索了很多,並找到了一些例子,如何做到這一點,但沒有一個似乎與我已有的代碼一起工作。
我相信,該邏輯應該被加入到縮放行爲,但我不知道
// x axis gridlines
function make_x_gridlines() {
return d3.axisBottom(x)
.ticks(5)
}
// add the X gridlines
let xGrid = svg.append("g")
.attr('class', 'grid')
.attr("id", "grid")
.attr("transform", "translate(0," + height + ")")
.call(make_x_gridlines()
.tickSize(-height)
.tickFormat("")
)
//zoom behavior
function zoomed() {
.. some behavior ..
//redraw gridlines here?
.. some behavior ..
}
請參閱this fiddle整個事情。
即使它不是z軸,我也會調用第二個y軸(右)zAxis。
幫助真的不勝感激。
就像一個魅力。多謝。 –
是的,你是對的,我將刪除make_gridlines()函數。 –