我正在使用ipython和nbagg matplotlib后端,
%matplotlib nbagg
import numpy as np
import matplotlib.pyplot as plt
无法控制内联数字显示。当我使用plt.plot()
执行一个单元格时,会出现带有编辑控件的交互式nbagg内联图形。
a=np.linspace(0,1)
plt.plot(a, np.sinc(a))
但是,当我对单元格进行更改并运行它以生成另一个绘图时,内联图形会消失。
a=np.linspace(0,1)+2
plt.plot(a, np.sinc(a))
Out[38]: [<matplotlib.lines.Line2D at 0x1341e080>]
如何使用这两个图重新出现?
当我致电plt.show()
或plt.gca()
时,没有任何事情发生。当我执行plt.gcf()
时,绘图会重新出现两条曲线,但没有nbagg控件,因此它不再是交互式的。我可以回到交互式绘图的唯一方法是创建一个新的数字plt.figure()
,或关闭当前的一个plt.close(); plt.gcf()
,其中没有一个能让我看到我的旧曲线。我可以绘制其他细胞的第二条和更多条曲线,但这似乎是一个奇怪且不方便的限制。
我使用的是最新的ipython 4.0和matplotlib,但在3.2.1上遇到了同样的问题。