Уведомления

Группа в Telegram: @pythonsu

#1 Сен. 23, 2010 09:43:02

Spectral
От:
Зарегистрирован: 2010-07-13
Сообщения: 51
Репутация: +  1  -
Профиль   Отправить e-mail  

pylab( matplotlib ) toggle fullscreen without key

Как включить fullscreen непосредственно из кода?

Есть вот такой код, рисующий ступеньку:

# -*- coding: utf-8 -*-
import math
import pylab

a = 6.0

dx = 0.1
x0=0
x1=30

dt = 0.01
t0=0
t1=2

Nx = int((x1-x0)/dx)
Nt = int((t1-t0)/dt)

Up = 4.0
Down = 1.2
start_pos=20

pylab.ion()
for n in range (Nt):


pylab.clf()
#stage
pylab.plot ([0, start_pos],[Up,Up],'v-')
pylab.plot ([start_pos, Nx], [Down,Down],'v-')
pylab.plot ([start_pos, start_pos],[Up,Down],'v-')
start_pos = start_pos+(dt*a/dx)
pylab.draw()

pylab.close()
Но графика выводится в «стандартных» (дефолтных) размерах окна. А нужно включить фулскрин.
гугление по toggle\enable fullscreen pylab ни к чему не привело, кроме упоминания, что фулскрин в матплотлибе включается клавишей f
Но эта клавиша в pylab не работает. У кого-нибудь есть идеи, как все-таки сразу включить фулскрин?
Спасибо.



Офлайн

#2 Сен. 23, 2010 11:54:11

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

pylab( matplotlib ) toggle fullscreen without key

Вы используете инструмент не по назначению.
pylab создан для того, чтобы подготовить всю информацию и потом нарисовать график(и).
Анимацию он делать не умеет. pylab.draw() в цикле ведет к тому, что взаимодействие с пользователем висит.

Короче говоря, если вам нужна анимация картинки - используйте что-то другое.



Офлайн

#3 Сен. 23, 2010 12:06:07

Spectral
От:
Зарегистрирован: 2010-07-13
Сообщения: 51
Репутация: +  1  -
Профиль   Отправить e-mail  

pylab( matplotlib ) toggle fullscreen without key

Да, я использую для анимации pylab, и показал это кодом движущейся ступеньки…
Вот как раз и хотелось бы полноэкранную анимацию средствами pylab.
потому что не встретил более удобных библиотек для создания 2D-анимации.



Отредактировано (Сен. 23, 2010 12:07:59)

Офлайн

#4 Сен. 23, 2010 12:44:36

Андрей Светлов
От:
Зарегистрирован: 2007-05-15
Сообщения: 3137
Репутация: +  14  -
Профиль   Адрес электронной почты  

pylab( matplotlib ) toggle fullscreen without key

Еще раз повторяю, это - не то.
Возьмите, к примеру, Qt.
Заведите таймер и по нему перерисовывайте виджет.



Офлайн

#5 Сен. 30, 2010 16:59:58

Spectral
От:
Зарегистрирован: 2010-07-13
Сообщения: 51
Репутация: +  1  -
Профиль   Отправить e-mail  

pylab( matplotlib ) toggle fullscreen without key

Qt слишком хардкорно, обошелся модулем vpython (там есть подмодуль для отрисовки 2D графики),
рекомендую новичкам.



Офлайн

#6 Сен. 30, 2010 17:09:30

regall
От: Киев
Зарегистрирован: 2008-07-17
Сообщения: 1583
Репутация: +  3  -
Профиль   Отправить e-mail  

pylab( matplotlib ) toggle fullscreen without key

Spectral
vpython
То, что надо. Можно в качестве альтернативы взять pygame, или pyglet. Они хоть и ориентируются на игровые проекты, но в конечном счете какая разница, что рисовать.



Офлайн

Board footer

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

Powered by DjangoBB

Lo-Fi Version