Форум программистов, компьютерный форум, киберфорум
Python: GUI, графика
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/13: Рейтинг темы: голосов - 13, средняя оценка - 5.00
15 / 15 / 1
Регистрация: 13.11.2011
Сообщений: 309
1

Анимация в matplotlib

24.01.2018, 03:06. Показов 2659. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Доброго времени суток. Имеется код, прорисовывающий окружность и линию:
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
import matplotlib
import pylab
R=5
 
 
def drawCircles(axes):
    circle2 = matplotlib.patches.Circle((0, R),
                                        radius=5,
                                        fill=False,
                                        color="r")
    axes.add_patch(circle2)
 
def drawLine (axes):
    x0 = 0
    y0 = R
    x1 = 0
    y1 = 0
    line = matplotlib.lines.Line2D ([x0, x1], [y0, y1], color="k")
    axes.add_line (line)
 
 
if __name__ == "__main__":
    axes = pylab.gca()
    axes.set_aspect("equal")
    drawCircles(axes)
    drawLine(axes)
    plt.show()


Хочу создать что-то типо такого
совсем непонятно работает функция animation.FuncAnimation
Как сделать так чтобы окружность хотя бы двигалась вперед просто по прямой(по Х)?
Спасибо.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
24.01.2018, 03:06
Ответы с готовыми решениями:

Не создаётся анимация в Matplotlib.animation
Здравствуйте, проблема такая, нужно сделать анимацию: 4 графика: 2 colomaps и 2 plots. Данные...

Ускорение обновления графика matplotlib в kivy с использованием matplotlib.animation
Всем добрый день. Я пытаюсь оптимизировать вывод графиков matplotlib в режиме реального времени....

matplotlib.pyplot работает, а matplotlib нет
Не могу понять. Почему import matplotlib.pyplot as plt x = plt.plot(x) plt.show() ...

Анимация квадрата (Matplotlib)
Доброго времени суток. Нужно создать квадрат с помощью библиотеки Matplotlib и чтобы он перемещался...

1
15 / 15 / 1
Регистрация: 13.11.2011
Сообщений: 309
25.01.2018, 17:01  [ТС] 2
Получилось создать прорисовку линии.
Есть пару вопросов:
1. ф-ия
Python
1
np.linspace(0, 19, 128)
возвращает массив из 128 чисел от 0 до 19(вкл) с равным шагов, если так, то почему прорисовка зацикливается и не останавливается, а считает далее(повторно)
2. Как сделать более правную анимацию?
3. Возможно ли как-то влиять на скорость анимации?
Кликните здесь для просмотра всего текста
Python
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
import numpy as np
R = 5
 
 
def x_rez(t):
    return R * (t - np.sin(t))
 
 
def y_rez(t):
    return R * (1 - np.cos(t))
 
 
def init():
    ax.set_xlim(-10, 2*np.pi*R*3+1)
    ax.set_ylim(-2, R*5)
    return ln,
 
 
def update(frame):
    xdata.append(x_rez(frame))
    ydata.append(y_rez(frame))
    ln.set_data(xdata, ydata)
    return ln,
 
 
if __name__ == "__main__":
    fig, ax = plt.subplots()
    xdata, ydata = [], []
    ln, = plt.plot([], [],  animated=True)
    ani = FuncAnimation(fig, update, frames=np.linspace(0, 19, 128),
                        init_func=init, blit=True)
    plt.show()


Добавлено через 1 час 50 минут
Ответом на 1 вопрос вроде как заключается в отключении повторения repeat=False ( по умолчанию True)
Ответ на 2 и 3 вопросы заключаются в добавлении опционального аргумента interval= (по умолчанию 200(знач в милисек)
ТЫК
0
25.01.2018, 17:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
25.01.2018, 17:01
Помогаю со студенческими работами здесь

Matplotlib анимация
Суть проблемы такова: Есть гуй, который должен рисовать графики к куче постоянно обновляющихся...

Анимация в OpenGL, а где собсно, анимация?
// Bounce.cpp // Demonstrates a simple animated rectangle program with GLUT // OpenGL SuperBible,...

Matplotlib
Доброе утро. Как перебрать g1 и g2 в цикле, если я инициализирую таким образом: fig, g1 =...

Matplotlib
Создание нескольких графиков, не могу понять индексатор plt.subplot(2, 3, 1) plt.subplot(2, 3,...

Matplotlib
Пробую научиться пользоваться данной библиотекой для построения графиков, пытаюсь сделать...

Matplotlib
1. Реализовать функцию визуализации последовательности полигонов, представленной в виде итератора ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru