plt.subplots()
plt.subplots() 和 plt.subplot() 功能作用非常相似。
matplotlib.pyplot.subplots(nrows=1, ncols=1, sharex=False, sharey=False, squeeze=True, subplot_kw=None, gridspec_kw=None, **fig_kw)
部分参数介绍:
nrows, ncols : int, optional, default: 1
Number of rows/columns of the subplot grid.
可以手动输出几行几列,默认是1行1列
sharex, sharey : bool or {‘none’, ‘all’, ‘row’, ‘col’}, default: False
可以选择共享x轴或者y轴:
- True or ‘all’: x- or y-axis will be shared among all subplots.
- False or ‘none’: each subplot x- or y-axis will be independent.
- ‘row’: each subplot row will share an x- or y-axis.
- ‘col’: each subplot column will share an x- or y-axis.
num : integer or string, optional, default: None
A pyplot.figure keyword that sets the figure number or label.选择生成几个figure
demo
import matplotlib.pyplot as plt
import numpy as np
#First create some toy data:
x = np.linspace(0, 2*np.pi, 400)
y = np.sin(x**2)
#Creates just a figure and only one subplot
fig, ax = plt.subplots() # 创建一个子图
ax.plot(x, y)
ax.set_title('Simple plot')
plt.show() # 图1
#Creates two subplots and unpacks the output array immediately
f, (ax1, ax2) = plt.subplots(1, 2, sharey=True)
ax1.plot(x, y)
ax1.set_title('Sharing Y axis')
ax2.scatter(x, y)
plt.show() # 图2
#Creates four polar axes, and accesses them through the returned array
fig, axes = plt.subplots(2, 2, subplot_kw=dict(polar=True))
axes[0, 0].plot(x, y)
axes[1, 1].scatter(x, y)
plt.show() # 图3
#Share a X axis with each column of subplots 共享各个轴
plt.subplots(2, 2, sharex='col')
#Share a Y axis with each row of subplots
plt.subplots(2, 2, sharey='row')
#Share both X and Y axes with all subplots
plt.subplots(2, 2, sharex='all', sharey='all')
#Note that this is the same as
plt.subplots(2, 2, sharex=True, sharey=True)
#Creates figure number 10 with a single subplot
#and clears it if it already exists.
#fig, ax=plt.subplots(num=10, clear=True)
#plt.show()
生成图像如下:
图1
图2
图3
可以看到,plt.subplots()的功能还是非常强大的。