我創建了一個NVD3 multiBarChart並將其放置在一個jQuery可調整大小的容器中。在調整圖表大小時,每個呈現的延遲時間與圖表第一次繪製時相同:交錯左右延遲繪製條形圖。當圖表第一次繪製時,這看起來很酷,但是在調整圖表的大小時,這是很麻煩的。我已經用nv.d3.css進行了試驗,每次延遲都減少到0ms,但無濟於事。還沒有檢查過NVD3 JS,我希望不需要。如何刪除NVD3圖表調整大小/更新延遲
小提琴: http://jsfiddle.net/a5Fnj/10/
var container = $("#mycontainer");
$(container[0]).resizable();
var svg = d3.select(container[0]).append("svg");
nv.addGraph(function() {
var chart = nv.models.multiBarChart();
chart.xAxis.tickFormat(d3.format(',f'));
chart.yAxis.tickFormat(d3.format(',.1f'));
d3.select(container[0]).select("svg")
.datum(exampleData())
.transition().duration(0).call(chart);
nv.utils.windowResize(chart.update);
this.stackedbar = chart;
});
function exampleData() {
return stream_layers(3, 10 + Math.random() * 100, .1).map(function (data, i) {
return {
key: 'Stream' + i,
values: data
};
});
}
我抓住了最新nv.d3.min.js從你的鏈接,並添加chart.transitionDuration(0)。 yAxis電話。調整大小會延遲渲染。 – pmont
對,它看起來像只控制部分轉換。其餘的是硬編碼恐怕所以你必須修改源代碼。 –
我遇到同樣的問題。如果我能找到需要改變的適當行,我會很好地處理源代碼。 @LarsKotthoff你能給個提示嗎?我不想開始替換所有.transition(調用過渡(1),直到它工作: -/ – Locked