我想删除静态图像,只使用 Matplotlib 和赛璐珞在 Jupyter Notebook 上显示交互式图表。我了解到plt.close()
应该位于倒数第二行。
在示例 1中,plt.close()
倒数第二行运行良好,即仅显示交互式图表:
%matplotlib inline
import matplotlib.pyplot as plt
from celluloid import Camera
from IPython.display import Image
fig = plt.figure()
camera = Camera(fig)
for i in range(10):
plt.plot([i] * 10)
camera.snap()
animation.save('celluloid_minimal.gif', writer='ffmpeg')
plt.close()
Image(url='celluloid_minimal.gif')
在示例 2 中,我需要在删除静态图像plt.close()
之后放置。ax.set_xlim(0, 10)
如果我plt.close()
之前输入正确Image(url='animation.gif')
,则静态图像将与交互式图表一起显示。
fig = plt.figure()
ax = plt.axes()
ax.set_ylim(0, 1)
ax.set_xlim(0, 10)
plt.close()
camera = Camera(fig)
for i in range(10):
ax.scatter(i, np.random.random())
plt.pause(0.1)
camera.snap()
animation = camera.animate()
animation.save('animation.gif', writer='ffmpeg')
Image(url='animation.gif')
为什么plt.close()
需要将这两个示例中的静态图像放在不同的位置来移除?