En este artículo, aprenderemos diferentes formas de crear subparcelas de diferentes tamaños usando Matplotlib . Proporciona 3 métodos diferentes con los que podemos crear diferentes subparcelas de diferentes tamaños.
Métodos disponibles para crear subparcelas:
- Gridspec
- gridspec_kw
- subtrama2cuadrícula
1. Gridspec: GridSpec del módulo gridspec utilizado para ajustar la geometría de la cuadrícula de subtrama. Podemos usar diferentes parámetros para ajustar la forma, el tamaño, el número. de columnas y filas.
Código:
Python3
# importing required libraries import matplotlib.pyplot as plt from matplotlib import gridspec import numpy as np # create a figure fig = plt.figure() # to change size of subplot's # set height of each subplot as 8 fig.set_figheight(8) # set width of each subplot as 8 fig.set_figwidth(8) # create grid for different subplots spec = gridspec.GridSpec(ncols=2, nrows=2, width_ratios=[2, 1], wspace=0.5, hspace=0.5, height_ratios=[1, 2]) # initializing x,y axis value x = np.arange(0, 10, 0.1) y = np.cos(x) # ax0 will take 0th position in # geometry(Grid we created for subplots), # as we defined the position as "spec[0]" ax0 = fig.add_subplot(spec[0]) ax0.plot(x, y) # ax1 will take 0th position in # geometry(Grid we created for subplots), # as we defined the position as "spec[1]" ax1 = fig.add_subplot(spec[1]) ax1.plot(x, y) # ax2 will take 0th position in # geometry(Grid we created for subplots), # as we defined the position as "spec[2]" ax2 = fig.add_subplot(spec[2]) ax2.plot(x, y) # ax3 will take 0th position in # geometry(Grid we created for subplots), # as we defined the position as "spec[3]" ax3 = fig.add_subplot(spec[3]) ax3.plot(x, y) # display the plots plt.show()
Producción :
Explicación :
# crear cuadrícula para diferentes subparcelas
spec = gridspec.GridSpec(ncols=2, nrows=2, width_ratios=[2, 1],wspace=0.5,hspace=0.5,height_ratios=[1,2])
Aquí «gridspec.GridSpec()» creará cuadrículas para subparcelas. Podemos usar diferentes parámetros para ajustar la cuadrícula y cada tamaño de parcela.
- ncols: pase el número de columnas que desea en Grid.
- nrows: pase el número de filas que queremos en Grid para hacer subparcelas.
- width_ratios: establece la relación de ancho de la subtrama (ajusta el ancho de la trama).
- height_ratios: establece la relación de altura de la subparcela (ajusta la altura de la parcela).
- wspace: proporcione la cantidad de espacio vertical de «wspace» para separar las subparcelas.
- hspace : da «hspace» la cantidad de espacio horizontal para separar las subparcelas.
2. gridspec_kw: Es un diccionario disponible dentro del método “plt.subplots()” en Matplotlib. Al pasar diferentes parámetros al diccionario, podemos ajustar la forma y el tamaño de cada subparcela.
Código:
Python3
# importing required libraries import matplotlib.pyplot as plt import numpy as np # setting different parameters to adjust each grid fig, ax = plt.subplots(nrows=2, ncols=2, figsize=(7, 7), gridspec_kw={ 'width_ratios': [3, 3], 'height_ratios': [3, 3], 'wspace': 0.4, 'hspace': 0.4}) # initializing x,y axis value x = np.arange(0, 10, 0.1) y = np.tan(x) # ax[0][0] will take 0th position in # geometry(Grid we created for subplots) ax[0][0].plot(x, y) # ax[0][0] will take 0th position in # geometry(Grid we created for subplots) ax[0][1].plot(x, y) # ax[0][0] will take 0th position in # geometry(Grid we created for subplots) ax[1][0].plot(x, y) # ax[0][0] will take 0th position in # geometry(Grid we created for subplots) ax[1][1].plot(x, y) plt.show()
Producción :
Explicación :
# establecer diferentes parámetros para ajustar cada cuadrícula
fig, ax = plt.subplots(nrows=2, ncols=2,figsize=(7,7), gridspec_kw={‘width_ratios’: [3, 3], ‘height_ratios’: [ 3, 3], ‘espacio w’: 0.4, ‘espacio h’: 0.4})
“gridspec_kw = {}” es un diccionario con teclas con las que podemos cambiar la forma, el tamaño y ajustar cada cuadrícula.
- nrows: número de filas en la cuadrícula
- ncols: número de columnas en la grilla
- width_ratios: establece el tamaño del ancho de cada subparcela
- height_ratios: establece el tamaño de la altura de cada subparcela
- wspace: proporcione la cantidad de espacio vertical de «wspace» para separar las subparcelas.
- hspace : da «hspace» la cantidad de espacio horizontal para separar las subparcelas.
- figsize: establece el tamaño de las subparcelas.
3. subplot2grid: proporciona más flexibilidad para crear una cuadrícula en cualquier ubicación. Podemos extender la cuadrícula tanto horizontal como verticalmente con mucha facilidad.
Código:
Python3
# importing required library import matplotlib.pyplot as plt import numpy as np # creating grid for subplots fig = plt.figure() fig.set_figheight(6) fig.set_figwidth(6) ax1 = plt.subplot2grid(shape=(3, 3), loc=(0, 0), colspan=3) ax2 = plt.subplot2grid(shape=(3, 3), loc=(1, 0), colspan=1) ax3 = plt.subplot2grid(shape=(3, 3), loc=(1, 2), rowspan=2) ax4 = plt.subplot2grid((3, 3), (2, 0)) ax5 = plt.subplot2grid((3, 3), (2, 1), colspan=1) # initializing x,y axis value x = np.arange(0, 10, 0.1) y = np.cos(x) # plotting subplots ax1.plot(x, y) ax1.set_title('ax1') ax2.plot(x, y) ax2.set_title('ax2') ax3.plot(x, y) ax3.set_title('ax3') ax4.plot(x, y) ax4.set_title('ax4') ax5.plot(x, y) ax5.set_title('ax5') # automatically adjust padding horizontally # as well as vertically. plt.tight_layout() # display plot plt.show()
Producción :
Explicación :
ax1 = plt.subplot2grid(forma=(3, 3), loc=(0, 0), colspan=3)
ax2 = plt.subplot2grid(forma=(3, 3), loc=(1, 0), colspan= 1)
ax3 = plt.subplot2grid(forma=(3, 3), loc=(1, 2), rango de filas=2)
ax4 = plt.subplot2grid((3, 3), (2, 0))
ax5 = plt. subplot2grid((3, 3), (2, 1),colspan=1)
Aquí la forma denota el no. de filas y columnas y loc denota la ubicación geométrica de la cuadrícula. Supongamos que si estamos usando colspan = 3 en ax1, significa que estas subparcelas cubrirán 3 todas las columnas de esa fila. De manera similar, en ax2,colspan=1 significa que cubrirá 1 espacio de columna en su ubicación. En el caso de ax3,rowspan=2 significa que cubrirá el espacio de 2 filas. Si damos una entrada irregular, dará un error, por lo que le daremos el valor adecuado a colspan y rowspan.
Publicación traducida automáticamente
Artículo escrito por ronilpatil y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA