2010-10-12 4 views
2

можно ли провести интерактивный сеанс через pydev для использования matplotlib? Проблема в том, что я не могу получить доступ к оболочке для управления диаграммами, поскольку интерпретатор останавливается после команды show(). Я хотел бы иметь интерактивную сессию через pydev.интерактивный matplotlib через eclipse

Интерактивные сеансы хорошо описываются Matplotlib инструкции здесь: http://matplotlib.sourceforge.net/users/shell.html

Однако ни одного примера не предусмотрено для этого является затмение.

+0

Что вы подразумеваете под интерактивным управлением, что именно вы хотите сделать? – volting

+0

Создавайте диаграммы «на лету», когда я набираю код. – relima

ответ

2

Я не использовал pydev много, , но IIRC вы можете изменить, какой интерактивный интерпретатор вы используете. Если это возможно, установите ipython и используйте его в режиме pylab (ipython --pylab из командной строки)

Оказывается, вы не можете изменить интерпретатор. Вы можете запускать команды интерпретатора, поэтому, возможно, можно запустить оболочку ipython таким образом, но было бы проще просто запустить ipython --pylab с терминала и запустить его вдоль вашей сессии eclipse.

НТН

+1

Где/как вы можете изменить, какой интерактивный интерпретатор вы используете в pydev? Является ли это возможным? – Etienne

2

Или просто запустить IPython из терминала и запустить его вдоль стороны вашего затмения сессии.

Вы также можете использовать плагин WickedShell.

0

Я полагаю, что проблема в том, что используемый инструментарий должен запускать цикл событий, и, вероятно, он не совместим с запуском под Eclipse. Вы можете попробовать использовать бэкэнд Agg, сохранив ваши цифры и открыв их в отдельном средстве просмотра.

Есть что-то под названием ezplot для построения графика в другом процессе с помощью RPC: Это поможет решить проблему цикла событий, но кажется, что это не актуально.

1

Для быстрого решения используйте ginput(1) для запуска цикла событий, пока вы не нажмете один раз на графике. Он будет держать сюжет видимым достаточно долго, чтобы сделать быстрый просмотр.

plot([2,3,4], [4,9,16]) 
ginput(1) # view results of plot fn 
xlabel('x') 
ylabel('f(x)') 
ginput(1) # view results of xlabel and ylabel fns 
Смежные вопросы