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:
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: 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: 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:
La salida sigue siendo la misma incluso si usamos el formato de tres dígitos para pasar los argumentos.