我有两个动态图,它们从生成器中连续获取值。整个事情看起来是这样的。
for data in generator(a,b):
plt.clf()
f, ax = plt.subplots(2, 1, figsize=(15, 12), dpi=90)
ax[0].plot(data[0])
ax[1].plot(data[1])
display.clear_output(wait=True)
display.display(f)问题是在jupyter-lab中执行之后,可以看到最终的图和无数的<Figure size 1350x1080 with 0 Axes>文本输出。是否有方法禁用此功能,或者是否有人知道创建没有文本输出的动态绘图的任何其他方法?
发布于 2020-05-16 08:00:50
不是直接调用plt.clf(),而是将clear=True和num=1传递给plt.subplots,这将抑制除最后一个绘图之外的所有绘图的输出,同时还会在每次迭代中清除绘图:
for ii in range(5):
f, ax = plt.subplots(2, 1, num=1, figsize=(15,12), dpi=90, clear=True)
ax[0].plot(np.ones(10)*ii)
ax[1].plot(np.ones(10)*ii)

如果需要重画多个图形,还可以为每个图形提供不同的num。
https://stackoverflow.com/questions/61829172
复制相似问题