解释:
fig.add_subplot(xyz)是fig.add_subplot(ROW,COLUMN,POSITION)的简写形式,其第一个参数表示行数,第二个参数表示列数,第三个参数表示你正在绘制图的位置。
举个例子来说:
生成此图的代码是:
import matplotlib.pyplot as plt
fig = plt.figure()
fig.add_subplot(221) #top left
fig.add_subplot(222) #top right
fig.add_subplot(223) #bottom left
fig.add_subplot(224) #bottom right
plt.show()
该代码与以下代码是等效的:
import matplotlib.pyplot as plt
fig = plt.figure()
fig.add_subplot(2,2,1) #top left
fig.add_subplot(2,2,2) #top right
fig.add_subplot(2,2,3) #bottom left
fig.add_subplot(2,2,4) #bottom right
plt.show()
带逗号的版本更加容易理解。
来源:
这种设计的背景来源于matlab,对此你可以参考文档:Figure Setup - Displaying Multiple Plots per Figure
有了这个功能我们可以做什么呢?
举个例子来说:
他的代码如下:
import numpy
import matplotlib.pyplot as plt
a = numpy.array([[1,2],[1,3],[2,4]])
b = numpy.array([[3,4],[3,3],[1,2]])
c = numpy.array([[5,4],[5,3],[2,2]])
d = numpy.array([[1,4],[3,3],[1,1]])
fig = plt.figure()
fig.add_subplot(2,2,1).scatter(a[:,0],a[:,1]) #top left
fig.add_subplot(2,2,2).scatter(b[:,0],b[:,1]) #top right
fig.add_subplot(2,2,3).scatter(c[:,0],c[:,1]) #bottom left
fig.add_subplot(2,2,4).scatter(d[:,0],d[:,1]) #bottom right
plt.show()
这样我们就可以实现图的对比啦!!!!