交互式matplotlib绘制在jupyter笔记本中

qsd*_*qsd 2 matplotlib ipython jupyter jupyter-notebook

以下代码段在ipython控制台中按预期工作:

> 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
Run Code Online (Sandbox Code Playgroud)

终端没有被阻挡.如何在Jupyter笔记本中获得相同的行为?也就是说,外部交互式绘图窗口可以从笔记本中逐步绘制.

相同的代码段不会显示笔记本中的图表.执行plt.show()将显示外部窗口,但会阻止执行直到窗口关闭.

提前致谢.

qsd*_*qsd 7

即使不需要后端开关,笔记本电脑也需要%matplotlib魔术,之后笔记本电脑的行为与控制台相同.例如,将其作为笔记本中的第一个单元格执行:

%matplotlib
import matplotlib.pyplot as plt
plt.ion()
Run Code Online (Sandbox Code Playgroud)