Multiplots en Python usando Matplotlib

Matplotlib es una biblioteca de Python que se puede usar para trazar gráficos y figuras. A menudo se requiere trazar gráficos múltiples o gráficos múltiples para comparar las dos curvas o mostrar algunos cambios graduales en los gráficos múltiples, y esto se puede hacer usando Subgráficos. Las subtramas son uno de los conceptos más importantes y fundamentales que se deben entender al intentar trazar varias figuras/gráficos/trazos en el mismo, y este tutorial le muestra cómo se hace. La función subplot () se puede encontrar en el módulo pyplot de matplotlib , que proporciona un marco similar a MATLAB para trazar en Python. El prototipo de la función es como se muestra a continuación:

matplotlib.pyplot.subplot(nrows, ncols, index)

También hay ciertos argumentos de palabras clave que se pueden dar.

Las parcelas apiladas

Primero, intentemos trazar una secuencia de gráficos (3 aquí) apilando uno sobre el otro. A medida que los apilamos, lo que cambia es el número de filas (nrows), lo que significa que ncols permanece igual a 1. Cada subparcela se identifica mediante el parámetro de índice. 

Python3

import matplotlib.pyplot as plt
import numpy as np
 
 
x = np.arange(0, 10, 0.01)
 
# notice that nrows = number
# of images
plt.subplot(3, 1, 1)
plt.plot(x, np.sin(x))
 
# ncols stays as 1
plt.subplot(3, 1, 2)
plt.plot(x, np.cos(x))
 
# each image has a unique
# index
plt.subplot(3, 1, 3)
plt.plot(x, x)
 
plt.show()

Producción: multiplots-python-matplotlib

Parcelas de cuadrícula

A continuación, intentaremos trazar algunos gráficos como una cuadrícula, es decir, gráficos múltiples con varias columnas. Aquí, crearemos una multiparcela con 4 parcelas, lo convertiremos en una cuadrícula de 2 × 2, lo que significa nrows = 2 y ncols = 2, con cada imagen identificada nuevamente por el índice, en orden de fila principal

Python3

import matplotlib.pyplot as plt
import numpy as np
 
 
x = np.arange(0, 10, 0.01)
plt.subplot(2, 2, 1)
plt.plot(x, np.sin(x))
 
plt.subplot(2, 2, 2)
plt.plot(x, np.cos(x))
 
plt.subplot(2, 2, 3)
plt.plot(x, x)
 
plt.subplot(2, 2, 4)
plt.plot(x, 5-x)
 
plt.show()

Salida: multiplots-python-matplotlib si tuviéramos que crear una trama múltiple donde una trama se superpone a la otra, algo así como lo que vemos cuando minimizamos un video de YouTube pero aún se ejecuta en una pequeña ventana en la esquina inferior, entonces la función add_suplplot() ayuda en esto. 

Python3

import matplotlib.pyplot as plt
import numpy as np
 
 
fig = plt.figure()
x = np.arange(0, 10, 0.01)
plt.plot(x, x-5)
 
plt.title("Not so Tiny")
fig.add_subplot(2, 2, 4)
plt.plot(x, 5-x)
 
plt.title("Tiny Plot")
plt.show()

Salida: multiplots-python-matplotlib Ah, y también, para todas las funciones de subtrama que hemos implementado, si nrows, ncols e index son menores a 10, en lugar de dar los argumentos en el formato (nrows, ncols, index), se pueden pasar como tres dígitos en el formato (nrows*100+ncols*10+index), y la salida sería la misma. ¿Por qué no lo probamos con los gráficos de cuadrícula? 

Python3

import matplotlib.pyplot as plt
import numpy as np
 
 
x = np.arange(0, 10, 0.01)
plt.subplot(221)
plt.plot(x, np.sin(x))
 
plt.subplot(222)
plt.plot(x, np.cos(x))
 
plt.subplot(223)
plt.plot(x, x)
 
plt.subplot(224)
plt.plot(x, 5-x)
plt.show()

Producción: multiplots-python-matplotlib 

La salida sigue siendo la misma incluso si usamos el formato de tres dígitos para pasar los argumentos.

Publicación traducida automáticamente

Artículo escrito por supergops 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 *