matplotlib.pyplot.pause слишком медленно для небольших значений - PullRequest
0 голосов
/ 25 апреля 2018

Я бы хотел построить анимацию в виде точек по одной. Мой код

import matplotlib.pyplot as plt

data = [[i, i] for i in range(100)]
plt.axis([0, 100, 0, 100])
for point in data:
    plt.plot(point[0], point[1], 'o')
    plt.pause(1e-10)
plt.show()

Но pause(seconds), кажется, не в состоянии обрабатывать небольшие доли секунды. Он ждет намного дольше, чем аргумент, который я передаю ему, если аргумент крошечный. Есть ли способ заставить его работать как нужно?

Я знаю, что документация говорит

Это можно использовать для грубой анимации. Для более сложной анимации см. Matplotlib.animation. Эта функция является экспериментальной; его поведение может быть изменено или расширено в будущем выпуске.

1 Ответ

0 голосов
/ 25 апреля 2018

Я думаю, что, возможно, вы пропустили самую важную часть документации относительно вашего вопроса:

Если есть активная фигура, она будет обновлена ​​и отображена раньшепауза, и цикл событий графического интерфейса пользователя (если таковой имеется) будет выполняться во время паузы.

Я мог бы предположить, что пауза вполне может быть около 1e-10 секунд, просто точка должнабыть нарисованным на фигуре, которая занимает больше времени, чем этот интервал времени.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...