интерактивный матплотлиб через затмение - PullRequest
2 голосов
/ 13 октября 2010

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

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

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

Ответы [ 4 ]

2 голосов
/ 13 октября 2010

Или просто запустите ipython из терминала и запустите его вместе с сеансом затмения.

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

2 голосов
/ 13 октября 2010

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

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

HTH

1 голос
/ 18 ноября 2011

Для быстрого решения используйте 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
0 голосов
/ 14 октября 2010

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

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

...