Python matplotlib plot和imshow
matplotlib的plot和imshow的行为让我感到困惑Python matplotlib plot和imshow,python,matplotlib,Python,Matplotlib,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() 有人能解释一下吗 如果在调用
import matplotlib as mpl
import matplotlib.pyplot as plt
如果在调用plt.imshow(I)
之前调用plt.show()
,则会产生错误。如果我在调用plt.show()
之前调用plt.imshow(I)
,那么一切都会正常工作。但是,如果我关闭打开的第一个图形,然后调用plt.imshow(I)
,则会显示一个新图形,而不会调用plt.show()
有人能解释一下吗
如果在调用之前调用plt.show()
plt.imshow(i),则会产生错误结果。
如果我在之前致电plt.imshow(I)
调用plt.show(),然后
工作完美
plt.show()。你不应该调用它,直到你已经绘制了东西,并希望看到它们显示出来
plt.imshow()
在当前地物上绘制图像(如果没有当前地物,则创建地物)。在绘制任何内容之前调用plt.show()
,没有任何意义。如果要明确创建新地物,请使用plt.figure()
。。。将显示一个新图形,而不显示任何图形
正在调用plt.show()
除非您在类似于ipython的pylab模式的情况下运行代码,gui后端的主循环将在单独的线程中运行,否则不会发生这种情况
一般来说,plt.show()将是脚本的最后一行。(或者,无论何时,只要您想停止并可视化所绘制的绘图,都会被调用。)
希望这会更有意义。如果要显示一系列图像,请短暂暂停以在屏幕上显示每个图像,然后转到下一个图像,该怎么办?您必须在某个时候调用show(),但如果调用,则无法执行其余代码来显示下一个图像。只需启动一个新的地物plt.figure(),或关闭前一个地物plt.close()。