Библиотека диаграмм, которая не вызывает утечку памяти при обновлении диаграммы
Я хочу построить страницу с интерактивно обновляемыми диаграммами на основе данных, которые асинхронно выбираются с сервера с использованием AJAX. Мне очень нравится jqPlot, но при попытке периодически обновлять график (вызывая replot()
, без обновления страницы), это вызывает огромную утечку памяти браузера. Кажется, это хорошо известная проблема, возникающая во всех основных браузерах.
Я не пробовал Flot и Protovis, но быстрый поиск в Google показывает, что они, похоже, имеют те же проблемы.
Вам известна какая-либо библиотека диаграмм JavaScript, которая не приводит к утечке памяти после нескольких обновлений диаграммы?
2 ответа
Вы могли бы взглянуть на Highcharts. Быстрое поиск в Google, похоже, не означает, что утечки памяти являются большой проблемой.
Чтобы избежать утечки памяти в jqPlot, вы должны удалить привязку и уничтожить ваш график:
var chart;
function yourTimedFunction(data) {
if (chart)
{
$('#chartDiv *').unbind(); // iexplorer
chart.destroy();
}
chart = $.jqplot('chartDiv', ............. );
}