我正在尝试使用 plt.pause() 创建 pyplot 模拟,但即使是最简单的示例也无法运行。这是代码:
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(19680801)
data = np.random.random((50, 50, 50))
fig, ax = plt.subplots()
for i, img in enumerate(data):
ax.clear()
ax.imshow(img)
ax.set_title(f"frame {i}")
plt.pause(0.1)
问题似乎与最后一行代码 (plt.pause(0.1)) 有关。如果没有此行,最终输出将显示模拟的最后一帧 - 第 49 帧(表示整个循环已完成)。如果我包含最后一行并运行模拟,则输出将在第一帧(第 0 帧)停止(并且模拟不会进入循环的下一步)。我也尝试过设置 plt.pause(0.0),但这与将其设置为任何其他数字的效果完全相同。
我在 Mac 上,在 jupyter notebook 7.2.1 下使用 python 3.12。如果您有任何建议,我将不胜感激。谢谢。