Matplotlib.gridspec.GridSpec Class in Python (original) (raw)

Last Updated : 25 Apr, 2025

Matplotlib is an amazing visualization library in Python for 2D plots of arrays. Matplotlib is a multi-platform data visualization library built on NumPy arrays and designed to work with the broader SciPy stack.

matplotlib.gridspec.GridSpec

The matplotlib.gridspec.GridSpec class is used to specify the geometry of the grid to place a subplot. For this, to work the number of rows and columns must be set. Optionally, tuning of subplot layout parameters can be also done.

Syntax: class matplotlib.gridspec.GridSpec(nrows, ncols, figure=None, left=None, bottom=None, right=None, top=None, wspace=None, hspace=None, width_ratios=None, height_ratios=None)
Parameters:

Methods of the class:

Example 1:

Python3 `

import numpy as np import matplotlib.pyplot as plt from matplotlib.gridspec import GridSpec

gs = GridSpec(8, 39) ax1 = plt.subplot(gs[:6, :35]) ax2 = plt.subplot(gs[6:, :])

data1 = np.random.rand(6, 35) data2 = np.random.rand(2, 39)

ax1.imshow(data1) ax2.imshow(data2)

plt.show()

`

Output:

Example 2:

Python3 `

import matplotlib.pyplot as plt import matplotlib.gridspec as gridspec

fig = plt.figure(figsize =([7, 4]))

gs = gridspec.GridSpec(2, 6) gs.update(wspace = 1.5, hspace = 0.3)

ax1 = plt.subplot(gs[0, :2]) ax1.set_ylabel('ylabel', labelpad = 0, fontsize = 12)

ax2 = plt.subplot(gs[0, 2:4]) ax2.set_ylabel('ylabel', labelpad = 0, fontsize = 12)

ax3 = plt.subplot(gs[0, 4:6]) ax3.set_ylabel('ylabel', labelpad = 0, fontsize = 12)

ax4 = plt.subplot(gs[1, 1:3]) ax4.set_ylabel('ylabel', labelpad = 0, fontsize = 12)

ax5 = plt.subplot(gs[1, 3:5]) ax5.set_ylabel('ylabel', labelpad = 0, fontsize = 12)

plt.show()

`

Output:

Similar Reads