¿Cómo establecer el espacio entre subparcelas en Matplotlib en Python?

En este artículo, veremos cómo establecer el espacio entre subparcelas en Matplotlib en Python. Analicemos algunos conceptos:

  • Matplotlib: Matplotlib es una increíble biblioteca de visualización en Python para gráficos 2D de arrays. Matplotlib es una biblioteca de visualización de datos multiplataforma basada en arrays NumPy y diseñada para funcionar con la pila SciPy más amplia. Fue presentado por John Hunter en el año 2002.
  • Subparcelas: la función subparcelas() en el módulo pyplot de la biblioteca matplotlib se usa para crear una figura y un conjunto de subparcelas. Las subparcelas son necesarias cuando queremos mostrar dos o más parcelas en la misma figura.

Aquí, primero veremos por qué se requiere la configuración del espacio.

Python3

# importing packages
import numpy as np
import matplotlib.pyplot as plt
  
# create data
x=np.array([1, 2, 3, 4, 5])
  
# making subplots
fig, ax = plt.subplots(2, 2)
  
# set data with subplots and plot
ax[0, 0].plot(x, x)
ax[0, 1].plot(x, x*2)
ax[1, 0].plot(x, x*x)
ax[1, 1].plot(x, x*x*x)
plt.show()

Producción:

Como podemos ver, los valores de los ejes de la figura anterior están demasiado congestionados y son muy confusos. Para resolver este problema, debemos establecer el espacio entre las subparcelas. 

Pasos necesarios 

  1. Importar bibliotecas
  2. Crear/Cargar datos
  3. hacer subtrama
  4. trama secundaria
  5. Establezca el espacio entre las subparcelas.

Para hacer tal cosa, podemos usar algunos métodos que se explican a continuación en forma de ejemplos: 

Ejemplo 1: (usando el método tight_layout())

El método tight_layout() mantiene automáticamente el espacio adecuado entre las subparcelas.

Python3

# importing packages
import numpy as np
import matplotlib.pyplot as plt
  
# create data
x=np.array([1, 2, 3, 4, 5])
  
# making subplots
fig, ax = plt.subplots(2, 2)
  
# set data with subplots and plot
ax[0, 0].plot(x, x)
ax[0, 1].plot(x, x*2)
ax[1, 0].plot(x, x*x)
ax[1, 1].plot(x, x*x*x)
  
# set the spacing between subplots
fig.tight_layout()
plt.show()

Producción: 

Ejemplo 2: (usando el método subplots_adjust())

Podemos usar el método plt.subplots_adjust() para cambiar el espacio entre las subtramas de Matplotlib. Los parámetros wspace y hspace especifican el espacio reservado entre las subparcelas de Matplotlib. Son las fracciones del ancho y alto del eje, respectivamente. Y los parámetros izquierdo, derecho, superior e inferior especifican cuatro lados de las posiciones de las subparcelas. Son las fracciones del ancho y alto de la figura.

Python3

# importing packages
import numpy as np
import matplotlib.pyplot as plt
  
# create data
x=np.array([1, 2, 3, 4, 5])
  
# making subplots
fig, ax = plt.subplots(2, 2)
  
# set data with subplots and plot
ax[0, 0].plot(x, x)
ax[0, 1].plot(x, x*2)
ax[1, 0].plot(x, x*x)
ax[1, 1].plot(x, x*x*x)
  
# set the spacing between subplots
plt.subplots_adjust(left=0.1,
                    bottom=0.1, 
                    right=0.9, 
                    top=0.9, 
                    wspace=0.4, 
                    hspace=0.4)
plt.show()

Producción: 

Ejemplo 3: (usando el método subplots_tool())

Este método abre una ventana de herramientas de subtrama para una figura. Proporciona un método interactivo para que el usuario arrastre la barra en subplot_tool para cambiar el diseño de las subparcelas.

Python3

# importing packages
import numpy as np
import matplotlib.pyplot as plt
  
# create data
x=np.array([1, 2, 3, 4, 5])
  
# making subplots
fig, ax = plt.subplots(2, 2)
  
# set data with subplots and plot
ax[0, 0].plot(x, x)
ax[0, 1].plot(x, x*2)
ax[1, 0].plot(x, x*x)
ax[1, 1].plot(x, x*x*x)
  
# set the spacing between subplots
plt.subplot_tool()
plt.show()

Producción: 

Ejemplo 4: (usando constrained_layout=True)

Python3

# importing packages
import numpy as np
import matplotlib.pyplot as plt
  
# create data
x=np.array([1, 2, 3, 4, 5])
  
# making subplots with constrained_layout=True
fig, ax = plt.subplots(2, 2, 
                       constrained_layout = True)
  
# set data with subplots and plot
ax[0, 0].plot(x, x)
ax[0, 1].plot(x, x*2)
ax[1, 0].plot(x, x*x)
ax[1, 1].plot(x, x*x*x)
plt.show()

Producción: 

Publicación traducida automáticamente

Artículo escrito por deepanshu_rustagi y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *