matplotlib.pyplot.subplot()函数
subplot()函数在指定的网格位置为当前图形添加子图。 它与subplots()函数类似,但与subplots()不同的是,它一次只添加一个子图。所以要创建多个图,你需要用subplot()函数编写几行代码。subplot函数的另一个缺点是它会删除你图上已有的情节。请参考例子1。
它是Figure.add_subplot的包装器。
语法:
subplot(nrows, ncols, index, **kwargs) subplot(pos, **kwargs) subplot(ax)
参数:
- args: 3位整数或三个描述子图位置的独立整数。
- Pos:Pos是一个三位数整数,其中第一个、第二个和第三个整数是nrows、ncols和index。
- projection :[{None,’ aitoff ‘, ‘ hammer ‘, ‘ lambert ‘, ‘ mollweide ‘, ‘ polar ‘, ‘ straight linear ‘, str}, optional]。子图(轴)的投影类型。默认的None会导致“直线”投影。
- label: [str]返回轴的标签。
- **kwargs:该方法还接受返回的axis基类的关键字参数; 除了e.g facecolor的图参数。
返回:ax.SubplotBase的axes的子类或axes的子类。返回的轴基类取决于所使用的投影。
函数的实现如下:
示例1
subplot()将删除已存在的绘图。
# importing the module
import matplotlib.pyplot as plt
# Data to display on plot
x = [1, 2, 3, 4, 5]
y = [1, 2, 1, 2, 1]
# plot() will create new figure and will add axes object (plot) of above data
plt.plot(x, y, marker="x", color="green")
# subplot() will add plot to current figure deleting existing plot
plt.subplot(121)
输出:
我们可以看到,subplot()函数留出了第一个绘图。
如果您想看到第一个绘图,请注释掉plt.subplot()行,您将看到下面的绘图
示例2
import matplotlib.pyplot as plt
# data to display on plots
x = [3, 1, 3]
y = [3, 2, 1]
z = [1, 3, 1]
# Creating figure object
plt.figure()
# adding first subplot
plt.subplot(121)
plt.plot(x, y, color="orange", marker="*")
# adding second subplot
plt.subplot(122)
plt.plot(z, y, color="yellow", marker="*")
输出: