Запретить перерисовку matplotlib во время добавления данныхPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Запретить перерисовку matplotlib во время добавления данных

Сообщение Anonymous »

Я пытался нанести на график некоторые точки (с помощью геопанд) и обнаружил, что их добавление становится все медленнее и медленнее, вплоть до того, что каждая занимает секунду и больше, всего лишь за несколько сотен. Это вряд ли можно использовать и определенно ненормально.
Я предполагаю, что matplotlib перерисовывает все каждый раз, когда к рисунку добавляются новые данные, которые резервируются cProfile:

Код: Выделить всё

   Ordered by: cumulative time

ncalls  tottime  percall  cumtime  percall filename:lineno(function)
143915  479.433    0.003  479.602    0.003 collections.py:352(draw)
137549    0.238    0.000  478.297    0.003 collections.py:1014(draw)
...
Поиск решения этой проблемы оказался трудным. Я понятия не имею, почему библиотека перерисовывается при каждом изменении, когда ничего не отображается. Есть несколько рекомендаций использовать статический бэкэнд и переключиться в неинтерактивный режим. Однако использование соответствующих конфигураций никак не влияет на производительность, поскольку библиотека по умолчанию использует статический бэкэнд и неинтерактивный режим.
Просматривая исходный код, я не вижу точки, в которой интерактивный режим вообще можно было бы рассматривать, или вызова метод draw() может быть условно перехвачен.
Есть ли способ заставить matplotlib откладывать рисование до тех пор, пока все данные не будут добавлены на график и не будут готовы к отображению?

Подробнее здесь: https://stackoverflow.com/questions/792 ... eing-added
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Python»