Я предполагаю, что вы вызываете основной цикл wx в своем основном (только?) Потоке. Однако можете ли вы уточнить контекст вашего фрагмента кода? Как превратить его в «wx-приложение» и зачем вам управление терминалом? Например, хотите ли вы видеть свою фигуру на экране, а также вводить данные в терминале. Или вы хотите просто сохранить его без отображения на экране?
Во всяком случае, фрагмент кода, который вы даете, работает для меня отлично, но если я сделаю
import pylab
pylab.plot([0,1,2,3],[10,50,30,40])
pylab.savefig('graph.png')
pylab.plot()
Тогда, если я запускаю твой код ...
как "python snippet.py", затем он просто записывает файл и завершает работу, хорошо.
из "ipython -wthreads", показывает график, сохраняет его и возвращает мне управление.
из «ipython», тогда он делает свое дело и никогда не возвращает управление.
Это потому, что pylab.plot () вызывает основной цикл GUI (в моем случае gtk, я думаю, wx сделает то же самое).