2016-09-10 3 views
1

Следующий фрагмент кода работает, как ожидалось в IPython консоли:Интерактивные Matplotlib участки в jupyter записной

> anaconda3/bin/ipython3 
In [1]: import matplotlib.pyplot as plt 
     import pandas as pd 
     import numpy as np 
In [2]: plt.ion() 
In [3]: pd.Series(np.sin(np.arange(0, 10, 0.1))).plot() # plot window appears 
In [4]: pd.Series(np.cos(np.arange(0, 10, 0.1))).plot() # second line is drawn in the same window 

Ни в одной точке является терминал заблокирован. Как получить такое же поведение в ноутбуке Jupyter? То есть, внешнее интерактивное окно графика, которое можно рисовать поэтапно из ноутбука.

В этом же фрагменте нет графиков из ноутбука. Выполнение plt.show() отображает внешнее окно, но блокирует выполнение до закрытия окна.

Заранее спасибо.

ответ

3

Оказывается, матрас matplotlib оказывается малым в ноутбуке, даже если для него не требуется никакого backend-переключателя, после чего ноутбук будет вести себя так же, как консоль. Например, выполните это как первую ячейку в записной книжке:

%matplotlib 
import matplotlib.pyplot as plt 
plt.ion() 
+0

Не могли бы вы подробнее рассказать о _% matplotlib magic_? – Minato

+0

@Minato добавленный пример. – qsd

+0

Ничего себе. Это в документах где угодно? – garyp

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