2016-01-07 2 views
3

Я создал линейную диаграмму с включенным масштабированием/панорамированием, однако теперь я использую «реальные» данные, которые состоят из 60 000+ очков, и производительность не удивительно разбилась на 1 - 2 кадра в секунду.Отображать только SVG-узлы данных, которые в настоящее время видны?

Есть ли у кого-нибудь подход для визуализации только того, что видно при увеличении/увеличении? Я нервничаю, чтобы использовать html5 canvas, возможно ли использовать холст для линейной диаграммы с временным доменом?

+0

Вставить код, который вы попробовали или скрипку –

+0

Chrome и Firefox (и, вероятно, большинство других UA) уже делают эту оптимизацию для вас. –

+0

Chrome и Firefox определенно не справляются с этим, я получаю 1 - 2 кадра в секунду. Я также попробовал simplify.js, но накануне с максимальной терпимостью он борется! Мне не разрешено публиковать фактический код. – rssfrncs

ответ

2

Обновление.

Теперь я использую crossfilter.js для фильтрации своих данных. Мой базовый метод в моем обработчике масштабирования. Я фильтрую весь набор данных, основанный на значениях степени (нижняя и верхняя граница) x.domain(). CrossFilter создает новый массив, содержащий только данные, которые вписываются в новый домен. Этот новый массив передается моей функции обновления, которая отображает только видимые данные!

Также стоит отметить, что даже холст HTML5 изо всех сил пытался отображать даже 60 тыс. Точек достаточно быстро. Примерно в 90 тыс. Он полностью прекратил работу!

Смежные вопросы