2013-09-17 14 views
3

Я пытаюсь создать интерактивный сюжет в ноутбуке ipython. Я пытаюсь запустить образец кода с сайта matplotlib, как показано ниже.ipython notebook and ginput

t = arange(10) 
plot(t, sin(t)) 
print("Please click") 
x = ginput(3) 
print("clicked",x) 
show() 

Я получаю эту ошибку:

/Library/Python/2.7/site-packages/matplotlib/backend_bases.pyc in start_event_loop(self, timeout) 
2370   This is implemented only for backends with GUIs. 
2371   """ 
-> 2372   raise NotImplementedError 
2373 
2374  def stop_event_loop(self): 

NotImplementedError: 

Я предполагаю, что это что-то делать с запуском IPython блокнотом и HTML. Можно ли это исправить? и как?

спасибо !!!

ответ

3

Если вы начали IPython ноутбук с помощью:

ipython notebook --pylab=inline 

Вам не нужно позвонить в show() функцию. Графики будут показаны автоматически. Функция show() необходима только при использовании одного из qt, wx, gtk ... бэкэндов.

Кроме того, функция ginput() недоступна в режиме inline. Если вам это нужно, вы должны запустить ноутбук, используя какой-либо другой сервер, который вы установили. Например qt или tk:

ipython notebook --pylab=qt 
ipython notebook --pylab=tk 
+0

Да, Ошибка генерируется до этой линии в точке х = ginput (3) – jmerkow

+0

@jmerkow Ой извините я пропустил это. 'ginput' также недоступен, если вы используете режим' inline'. –

+0

@jmerkow Если вам нужны эти функции, вы должны запустить ноутбук с помощью другого бэкэнда. Обновлен ответ. –

Смежные вопросы