Уведомления

Группа в Telegram: @pythonsu

#1 Дек. 18, 2018 13:42:38

KirSucre
Зарегистрирован: 2018-12-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Закрыть окно с графиком

Друзья, привет всем.
Питон только начал изучать, потому, возможно, вопрос тупой, но попрошу помочь
Задача такая: Нужно построить некий график, подождать 10 секунд, закрыть окно с графиком.

plot1=plt.show()
time.sleep(10)
plt.close('all')

не работает, так как show() блокирует программу, я так понял.
Нашел варианты вставить plt.ion() в начале программы или show(block=False), оба варианта позволяют через 10 секунд закрыть окно, но не строится график, окно с графиком белое и “зависшее”.
как быть?

Офлайн

#2 Дек. 18, 2018 19:53:07

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Закрыть окно с графиком

Попробуй так:

 import matplotlib.pyplot as plt
import time
plt.plot([1, 2, 3, 4])
plt.ylabel('Kakie-to cifri')
plt.show(block=False)
time.sleep(5)
print("Время истекло!")
Проверено на 3.5 под линем. Работает. Показывает 5 секунд и закрывает. Версия matplotlib 1.5.1

Отредактировано Rafik (Дек. 18, 2018 19:56:05)

Офлайн

#3 Дек. 19, 2018 12:32:01

KirSucre
Зарегистрирован: 2018-12-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Закрыть окно с графиком

Не строит график. Открывает окно, где график должен быть, при наведении на которое появляется “часики” загрузки, проходит 10 секунд, окно закрывается. Графика нет
Если убрать plt.close('all') то график появляется после завершения программы. все дело в block=False
как узнать версию matplotlib?

 import matplotlib.pyplot as plt
import time
squares=list(range(100))
initvalues=[x**2 for x in squares]
plt.title("Increase of Bullshit",fontsize=17)
plt.xlabel("value",fontsize=14)
plt.ylabel("square",fontsize=14)
plt.tick_params(axis='both',labelsize=14) #установка делений на осях
plt.scatter(squares[3],initvalues[3],s=200,c='blue',zorder=4,edgecolor='green')
plt.show(block=False)
time.sleep(10)
print('время вышло')
plt.close('all')

тут просто точку выводит, для примера накидал

Отредактировано KirSucre (Дек. 19, 2018 14:50:57)

Офлайн

#4 Дек. 19, 2018 19:28:49

Rafik
Зарегистрирован: 2018-09-04
Сообщения: 231
Репутация: +  27  -
Профиль   Отправить e-mail  

Закрыть окно с графиком

Можно пользоваться pip list для получения списка всех установленных пакетов и их версий. Если интересует какой-либо один пакет, то можно под линем отцедить его grep-ом. Если использовать pip show имя_пакета, то выдаст информацию по пакету: имя, версия, зависимости и др. интересную инфрмацию.

Офлайн

#5 Дек. 20, 2018 09:02:33

KirSucre
Зарегистрирован: 2018-12-18
Сообщения: 4
Репутация: +  0  -
Профиль   Отправить e-mail  

Закрыть окно с графиком

У меня версия matplotlib 3.0.0. Сыровата, может? Где взять другую?) Я ставил через Pip, он автоматом подтягивает жеж. И спасибо!

Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version