gpt4 book ai didi

python - matplotlib 绘图和 imshow

转载 作者:太空狗 更新时间:2023-10-29 17:42:03 24 4
gpt4 key购买 nike

matplotlib 的 plot 和 imshow 的行为让我感到困惑。

import matplotlib as mpl
import matplotlib.pyplot as plt

如果我在调用 plt.imshow(i) 之前调用 plt.show(),则会产生错误。如果我在调用 plt.show() 之前调用 plt.imshow(i),那么一切都会完美无缺。但是,如果我关闭第一个打开的图形,然后调用 plt.imshow(i),将显示一个新图形,而无需调用 plt.show()

谁能解释一下?

最佳答案

If I call plt.show() prior to callingplt.imshow(i), then an error results.If I call plt.imshow(i) prior tocalling plt.show(), then everythingworks perfectly.

plt.show() 显示图形(并进入您正在使用的任何 gui 后端的主循环)。在您绘制事物并希望看到它们显示之前,您不应该调用它。

plt.imshow() 在当前图形上绘制图像(如果没有当前图形则创建一个图形)。在绘制任何内容之前调用 plt.show() 没有任何意义。如果您想明确地创建一个新图形,请使用 plt.figure()

... a new figure is displayed without evercalling plt.show().

除非您以类似于 ipython 的 pylab 模式的方式运行代码,否则不会发生这种情况,在这种模式下,gui 后端的主循环将在单独的线程中运行...

一般来说,plt.show() 将是脚本的最后一行。 (无论如何,只要您想停下来并可视化您所做的情节,就会被调用。)

希望这更有意义。

关于python - matplotlib 绘图和 imshow,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3497578/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com