Уведомления

Группа в Telegram: @pythonsu

#1 Апрель 24, 2010 22:08:32

kt315e
От:
Зарегистрирован: 2009-12-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib - необходим асинхронный вывод на график.

При выполнении кода с использованием Matplotlib, например:

import matplotlib.pyplot as plt
plt.plot([1,2,3])
plt.show()
после выполнения метода show() выполнение скрипта останавливается и управление передаётся окну графика. Пока это окно пользователь ручками не закроет выполнение скрипта не вознобновляется. Необходимо поведение, когда после вывода графика можно было продолжить выполнение скрипта и в частности закрыть окно програмно.



Офлайн

#2 Апрель 26, 2010 12:10:09

Evgeny
От:
Зарегистрирован: 2009-08-09
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib - необходим асинхронный вывод на график.

Посмотрите вот такой код:

import matplotlib.pyplot as plt
import numpy as np

a = plt.figure()
a.show()

for count in range(14):
a.clear()
x = np.arange(-10+count,10+count,0.1)
y = np.sin(x)
plt.plot(x,y)
plt.draw()

plt.close(a)



Офлайн

#3 Май 1, 2010 21:01:56

kt315e
От:
Зарегистрирован: 2009-12-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib - необходим асинхронный вывод на график.

Evgeny
Посмотрите вот такой код:
import matplotlib.pyplot as plt
import numpy as np

a = plt.figure()
a.show()

for count in range(14):
a.clear()
x = np.arange(-10+count,10+count,0.1)
y = np.sin(x)
plt.plot(x,y)
plt.draw()

plt.close(a)
Чтобы у меня стала рисоватся картинка необходимо было включить перед первым вызовам draw интерактивный режим:
plt.ion()



Офлайн

#4 Май 5, 2010 11:27:14

Evgeny
От:
Зарегистрирован: 2009-08-09
Сообщения: 68
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib - необходим асинхронный вывод на график.

Моя программа успешно отрисовывает графики и закрывается без ошибок.
Что изменит plt.ion()?



Офлайн

#5 Май 5, 2010 15:14:31

kt315e
От:
Зарегистрирован: 2009-12-27
Сообщения: 64
Репутация: +  0  -
Профиль   Отправить e-mail  

Matplotlib - необходим асинхронный вывод на график.

Я не использовал figure. По видимому при использовании figure автоматически переходит в интерактивный режим.



Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version