我通過刷刷使用焦點+上下文的條形圖出現了一些問題。它工作得很好,但我的問題是:D3.js焦點+上下文通過刷新條形圖 - 在刷新上重新計算BarWidth
我計算帶寬和我的圖形的寬度當我處理我的數據。
var data = d3.layout.histogram()
.bins(x.ticks(bins))
(values);
var numBins = data.length;
var barWidth = parseInt((width)/numBins) - 1;
爲了保持一致,刷新焦點圖上的條寬應該會增加(目前它保持相同的寬度)。所以我需要重新計算barwidth。但我不知道我怎麼可以這樣......
function brushed() {
x.domain(brush.empty() ? x2.domain() : brush.extent());
focusGraph.attr("x", function(d, i) { return x(d.x); });
focusGraph.attr("width", barWidth); // How can I calculate new barwidth?
focus.select(".x.axis").call(xAxis);
}
下面的代碼: http://jsfiddle.net/qcLp6qu8/
感謝。但經過一些測試:當(使用筆刷)選擇一個小範圍或大範圍值時,您的解決方案不起作用。但是,當你採取中間範圍,它看起來像確定... –