Jak usunąć wykres zmiany rozmiaru / aktualizacji NVD3
Stworzyłem NVD3 multiBarChart i umieściłem go w pojemniku z możliwością zmiany rozmiaru jQuery. Podczas zmiany rozmiaru wykresu każdy render powoduje takie samo opóźnienie, jak przy pierwszym narysowaniu wykresu: przesunięty od lewej do prawej rysunek słupków. Wygląda to świetnie, gdy wykres jest rysowany po raz pierwszy, ale jest to uciążliwe podczas zmiany rozmiaru wykresu. Eksperymentowałem z nv.d3.css, zmniejszając każde opóźnienie do 0 ms bezskutecznie. Nie sprawdziłem jeszcze NVD3 JS i mam nadzieję, że nie będę musiał.
Skrzypce: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
};
});
}