/
ilya.petrash
/
SimplePyScripts
Обзор
Документация
Войти
/
ilya.petrash
/
SimplePyScripts
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
matplotlib__examples/examples/exm22.py
57 строк
3 KB
gil9red
Refactoring. Using black code style
30 май 2023, 15:01
30 май 2023, 15:01
5886cad
Код
Авторство
О чём код?
__author__ = "ipetrash" ## Использование библиотеки Matplotlib. Как делать анимированные графики # Иногда нужно показать график в динамике, например, как меняется со временем какая-то # величина. Если мы захотим воспользоваться функцией show(), то анимицию сделать не # получится по той причине, что эта функция покажет окно с графиком и будет ждать, # пока окно закроют. # Нам нужен способ периодически обновлять окно с графиком. Для этого используется # так называемый интерактивный режим, который включается с помощью функции ion() # пакета pylab, а выключается функцией ioff(). # Кроме того, вместо функции show() мы должны использовать функцию draw(), которая # отображает график и не задерживает выполнение программы. # Следующий пример демонстрирует просто движущуюся синусоиду. Для простоты окно # закрывается после показа 50 кадров. import math # Импортируем один из пакетов Matplotlib import pylab # Импортируем пакет со вспомогательными функциями from matplotlib__examples import mlab if __name__ == "__main__": # Интервал изменения переменной по оси X xmin = -20.0 xmax = 20.0 # Шаг между точками dx = 0.01 # Создадим список координат по оиси X на отрезке [-xmin; xmax], включая концы xlist = mlab.frange(xmin, xmax, dx) # !!! Включаем интерактивный режим pylab.ion() # У нас будет 50 кадров for n in range(50): # Данные для очередного кадра ylist = [math.sin(x + n / 2.0) for x in xlist] # !!! Очистим график pylab.clf() # Выведем новые данные pylab.plot(xlist, ylist) # !!! Нарисуем их # !!! Обратите внимание, что здесь используется функция draw(), а не show() pylab.draw() # !!! Закроем окно, иначе при завершении программы получим ошибку pylab.close()