我浏览了两者的文档,但是文档并未为两者指定特定的用例。我还发现,有时imshow()属性本身会显示图形,但有时需要使用show()属性来显示图形。在文档中,imshow()属性提到在轴上显示图像,但show()属性中缺少单词“ axes”。“轴”一词具体指的是什么?
除了两者,imshow
并show
在其中带有“显示”一词外,它们没有共同之处。
imshow
是绘图命令。它因此是在同一水平上的其他绘图命令喜欢plot
,scatter
,pcolor
,contour
等。这些绘图命令将产生一个轴内的一些图形数据表示。轴实质上是您在绘图周围看到的矩形。
plt.show()
是您最终需要产生图形输出的命令。它是使先前由一个或多个绘图命令生成的图形实际显示在屏幕上的功能,因此命名为“显示”。
所以你通常有
import matplotlib.pyplot as plt
<plotting command>
plt.show()
例如
plt.scatter(...)
plt.show()
要么
plt.imshow(...)
plt.show()
现在,在某些情况下,根据您运行代码的环境,plt.show()
不需要使用。这是因为环境知道正在生成matplotlib图,因此它将自动为您生成输出,而无需调用plt.show()
。这主要是在IPython会话或Jupyter笔记本中。
总结:为了生成带有图像的图,请调用plt.imshow(..)
。然后是否需要调用plt.show()
以调用屏幕上的表示,取决于环境。如果您不想在屏幕上显示图像,而是例如将其保存到文件中,则可以省略plt.show()
并调用
plt.imshow(...)
plt.savefig(...)
代替。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句