__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()
__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()
## Использование библиотеки Matplotlib. Как делать анимированные графики # Иногда нужно показать график в динамике, например, как меняется со временем какая-то # величина. Если мы захотим воспользоваться функцией show(), то анимицию сделать не # получится по той причине, что эта функция покажет окно с графиком и будет ждать, # пока окно закроют. # Нам нужен способ периодически обновлять окно с графиком. Для этого используется # так называемый интерактивный режим, который включается с помощью функции ion() # пакета pylab, а выключается функцией ioff(). # Кроме того, вместо функции show() мы должны использовать функцию draw(), которая # отображает график и не задерживает выполнение программы. # Следующий пример демонстрирует просто движущуюся синусоиду. Для простоты окно # закрывается после показа 50 кадров. # Импортируем один из пакетов Matplotlib # Импортируем пакет со вспомогательными функциями # Интервал изменения переменной по оси X # Шаг между точками # Создадим список координат по оиси X на отрезке [-xmin; xmax], включая концы # !!! Включаем интерактивный режим # У нас будет 50 кадров # Данные для очередного кадра # !!! Очистим график # Выведем новые данные # !!! Нарисуем их # !!! Обратите внимание, что здесь используется функция draw(), а не show() # !!! Закроем окно, иначе при завершении программы получим ошибку