Matplotlib subplot

Matplotlib subplot() 函数可以用来在一个图形中绘制两个或多个子图。Matplotlib 支持所有类型的子图,包括 2×1 垂直,2×1 水平或 2×2 网格。

水平子图

使用下面的代码创建水平子图

from pylab import *

t = arange(0.0, 20.0, 1)
s = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

subplot(2,1,1)
xticks([]), yticks([])
title('subplot(2,1,1)')
plot(t,s)

subplot(2,1,2)
xticks([]), yticks([])
title('subplot(2,1,2)')
plot(t,s,'r-')

show()

![matplot-水平子图](/img/Tutorial/Matplotlib/Matplotlib subplot.svg)

垂直子图

通过更改子图参数,我们可以创建垂直子图

from pylab import *

t = arange(0.0, 20.0, 1)
s = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

subplot(1,2,1)
xticks([]), yticks([])
title('subplot(1,2,1)')
plot(t,s)

subplot(1,2,2)
xticks([]), yticks([])
title('subplot(1,2,2)')
plot(t,s,'r-')

show()

![matplot-垂直子图](/img/Tutorial/Matplotlib/Matplotlib vertical subplot.svg)

子图网格

要创建 2×2 网格图,你可以使用以下代码:

from pylab import *

t = arange(0.0, 20.0, 1)
s = [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]

subplot(2,2,1)
xticks([]), yticks([])
title('subplot(2,2,1)')
plot(t,s)

subplot(2,2,2)
xticks([]), yticks([])
title('subplot(2,2,2)')
plot(t,s,'r-')

subplot(2,2,3)
xticks([]), yticks([])
title('subplot(2,2,3)')
plot(t,s,'g-')

subplot(2,2,4)
xticks([]), yticks([])
title('subplot(2,2,4)')
plot(t,s,'y-')

show()

![Matplotlib 子图网格](/img/Tutorial/Matplotlib/Matplotlib subplots grid.svg)