首先,我们来看一幅图:

matplotlib中plt画图易混淆的概念(figure, axes, axis)_显示图像

这幅图解释了plt画图中的几个概念

首先figure,figure可以理解为窗口。也就是说有几个figure你的图片最终就会画在几个窗口中。什么时候需要新建一个figure呢?就是当你不需要做图片对比时候你就可以多建几个figure,分别显示不相关的东西嘛. 怎么建figure呢.

import matplotlib.pyplot as plt
fig=plt.figure()

然后axes,axes是控制你的图片的xlabel,ylabel,axis,注意这里非常容易混淆axes和axis,axes是控制axis的。可以理解为axes就是一个处理所有图片显示杂事的,每个figure(窗口)中要显示图片或者画曲线,都必须有一个axes.接着给上面的代码我们来建立第一个axes.

ax=fig.add_subplot(1,1,1)

前两个参数的意思是本次的figure是 row=1,col=1 (这里只支持画1幅图,用row=2,col=2就可以画2*2的了)第三个参数表示 画在第1个。有同学问,我只想画一幅图,也是用add_subplot吗?是的,也是用这个指令。然后就确定好了axes.

然后开始画图:

import numpy as np
x=np.linspace(0,10,5)
y=np.linspace(0,10,5)
ax.plot(x,y)
plt.show()

这里以画曲线为例. 假如你只是为了显示图片,其实axes都可以不用. add_subplot之后使用plt.imshow(img),其中img为numpy或者PIL图像即可。记住最后用plt.show()哦,这样才能显示图像。