Pylab matplotlib "show" ждет, пока окно не закроется

Я хочу, чтобы команда matplotlib "show" возвращалась в командную строку показывая сюжет. Большинство других пакетов сюжетов, таких как R, делают это. Но pylab висит, пока окно графика не закрывается. Например:

import pylab
x = pylab.arange( 0, 10, 0.1)
y = pylab.sin(x)
pylab.plot(x,y, 'ro-')
pylab.show()   #  Python hangs here until the plot window is closed

Я хотел бы иметь возможность просматривать сюжет при выполнении запросов в командной строке. Я запускаю Debian с помощью python 2.6.6. Мой ~/.matplotlib/matplotlibrc содержит

backend      : GTKAgg

Спасибо!

Ответы

Ответ 1

Добавьте pylab.ion() (интерактивный режим) перед вызовом pylab.show(). Это заставит пользовательский интерфейс работать в отдельном потоке, и вызов show будет немедленно возвращаться.

Ответ 2

Вам нужно запустить его как

$ ipython --pylab 

и запустите свой код как

In [8]: x = arange(0,10,.1)

In [9]: y = sin(x)

In [10]: plot(x,y,'ro-')

Out[10]: [<matplotlib.lines.Line2D at 0x2f2fd50>]

In [11]: 

Это дает вам подсказку для случаев, когда вы хотите изменить другие части или сделать больше.