matplotlib.pyplot.subplot2grid()函数
Matplotlib是Python中一个非常棒的二维数组绘图可视化库。Matplotlib是一个基于NumPy数组构建的多平台数据可视化库,用于更广泛的SciPy堆栈。
Matplotlib.pyplot.subplot2grid ()
Matplotlib.pyplot.subplot2grid()函数为在网格内指定位置创建坐标轴对象提供了额外的灵活性。它还有助于将坐标轴对象跨越多个行或列。简单地说,这个函数用于在同一个图形中创建多个图表。它是一个子图形布局管理器。
语法:
Plt.subplot2grid(shape, location, rowspan, colspan)
参数:
- shape:顾名思义,它用于定义要在图形中绘制的网格的形状。它是一个必需参数,通常以两个数字的列表或元组的形式传入,这些数字负责网格的布局,其中第一个数字是行数,第二个数字是列数。
- location (loc):这是该函数接受的第二个强制参数。与shape参数类似,它也是一个必需参数,通常作为两个数字的列表或元组传入。它用于指定放置子图的行号和列号。还需要注意的是,索引从0开始。(0,0)是网格的第一行第一列的单元格。
- rowspan:一旦设置了网格布局,并使用location(loc)确定了起始索引,就可以使用这个参数展开选择以占用更多的行。这是一个可选参数,默认值为1。
- colspan:类似于rowspan,用于扩展选择以占用更多的列。它也是一个可选参数,默认值为1。
示例1
import matplotlib.pyplot as plt
fig = plt.figure()
axes1 = plt.subplot2grid((4, 4), (0, 0),
colspan = 4)
axes2 = plt.subplot2grid((4, 4), (1, 0),
colspan = 3)
axes3 = plt.subplot2grid((4, 4), (1, 2),
rowspan = 3)
axes4 = plt.subplot2grid((4, 4), (2, 0))
axes5 = plt.subplot2grid((4, 4), (2, 1))
fig.tight_layout()
输出:
示例2
import random
import matplotlib.pyplot as plt
from matplotlib import style
style.use('fivethirtyeight')
fig = plt.figure()
# helper function to plot the lines
def helper():
xs = []
ys = []
for i in range(10):
x = i
y = random.randrange(10)
xs.append(x)
ys.append(y)
return xs, ys
axes1 = plt.subplot2grid ((7, 1), (0, 0),
rowspan = 2,
colspan = 1)
axes2 = plt.subplot2grid ((7, 1), (2, 0),
rowspan = 2,
colspan = 1)
axes3 = plt.subplot2grid ((7, 1), (4, 0),
rowspan = 2,
colspan = 1)
x, y = helper()
axes1.plot(x, y)
x, y = helper()
axes2.plot(x, y)
x, y = helper()
axes3.plot(x, y)
输出: