Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Subgráficos | Personalización de Gráficos
Visualización Definitiva con Python

bookSubgráficos

La función subplots() de pyplot se utiliza para crear múltiples gráficos en una sola figura. Ya se ha visto al crear un lienzo; ahora se examina con mayor detalle.

Filas y columnas

Los argumentos clave son nrows y ncolumns, que definen la cuadrícula de subgráficos. Por defecto, ambos son 1, lo que produce un solo objeto Axes. subplots() devuelve un objeto Figure y uno o varios objetos Axes, dependiendo de la disposición.

12345
import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
copy

Se creó una cuadrícula de subgráficos de 2 por 2.

Note
Nota

Dado que hay varios subgráficos, subplots devuelve un arreglo de objetos Axes, que normalmente se almacena en una variable llamada axs (el singular ax se utiliza para un solo gráfico).

En este caso, axs es un arreglo bidimensional, por lo que se necesita tanto un índice de fila como de columna para acceder a un subgráfico específico.

1234567891011121314
import matplotlib.pyplot as plt import numpy as np data_linear = np.arange(1, 11) data_squared = data_linear**2 fig, axs = plt.subplots(2, 2) axs[0, 0].plot(data_linear) axs[0, 1].plot(data_squared) axs[1, 0].scatter(data_linear, data_linear) axs[1, 1].scatter(data_linear, data_squared) plt.show()
copy

La primera fila contiene dos gráficos de líneas; la segunda fila contiene dos diagramas de dispersión. Cada gráfico debe dibujarse utilizando el método del objeto Axes correspondiente, no plt.plot() ni plt.scatter().

Conversión a un arreglo 1D

Puede aplanar el arreglo 2D de Axes usando .ravel() para simplificar la indexación:

123456789
fig, axs = plt.subplots(2, 2) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Con una matriz de 2x2, axs.ravel() la convierte en un arreglo unidimensional que contiene cuatro elementos.

Compartir un eje

La función subplots() también tiene los parámetros sharex y sharey. Estos controlan si los ejes x o y se comparten entre los subgráficos. Ambos están configurados como False por defecto.

123456789
fig, axs = plt.subplots(2, 2, sharex=True) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Configurar sharex=True comparte el eje x entre todas las subgráficas. También se puede pasar 'row' o 'col' para compartir los ejes solo dentro de filas o columnas.

Note
Estudiar más

Como siempre, siéntase libre de explorar más en la subplots() documentación si lo desea.

Tarea

Swipe to start coding

  1. Utilizar la función adecuada para crear una cuadrícula de subgráficos.
  2. La cuadrícula debe tener 3 filas y 1 columna (especificar los dos primeros parámetros).
  3. Especificar el argumento de palabra clave más a la derecha para que el eje x se comparta entre todos los subgráficos.
  4. Almacenar el resultado de la función para crear subgráficos en las variables fig y axs (de izquierda a derecha).
  5. Colocar el primer gráfico de líneas para data_linear en la primera fila (fila 0) de la cuadrícula de subgráficos.
  6. Colocar el segundo gráfico de líneas para data_squared en la segunda fila (fila 1) de la cuadrícula de subgráficos.
  7. Colocar el tercer gráfico de líneas para data_exp en la tercera fila (fila 2) de la cuadrícula de subgráficos.

Solución

¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 6
single

single

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Suggested prompts:

Can you explain more about how to access individual subplots in the 2D array?

What happens if I create a grid with more rows or columns?

How do I customize the appearance of each subplot?

close

Awesome!

Completion rate improved to 3.85

bookSubgráficos

Desliza para mostrar el menú

La función subplots() de pyplot se utiliza para crear múltiples gráficos en una sola figura. Ya se ha visto al crear un lienzo; ahora se examina con mayor detalle.

Filas y columnas

Los argumentos clave son nrows y ncolumns, que definen la cuadrícula de subgráficos. Por defecto, ambos son 1, lo que produce un solo objeto Axes. subplots() devuelve un objeto Figure y uno o varios objetos Axes, dependiendo de la disposición.

12345
import matplotlib.pyplot as plt fig, axs = plt.subplots(2, 2) plt.show()
copy

Se creó una cuadrícula de subgráficos de 2 por 2.

Note
Nota

Dado que hay varios subgráficos, subplots devuelve un arreglo de objetos Axes, que normalmente se almacena en una variable llamada axs (el singular ax se utiliza para un solo gráfico).

En este caso, axs es un arreglo bidimensional, por lo que se necesita tanto un índice de fila como de columna para acceder a un subgráfico específico.

1234567891011121314
import matplotlib.pyplot as plt import numpy as np data_linear = np.arange(1, 11) data_squared = data_linear**2 fig, axs = plt.subplots(2, 2) axs[0, 0].plot(data_linear) axs[0, 1].plot(data_squared) axs[1, 0].scatter(data_linear, data_linear) axs[1, 1].scatter(data_linear, data_squared) plt.show()
copy

La primera fila contiene dos gráficos de líneas; la segunda fila contiene dos diagramas de dispersión. Cada gráfico debe dibujarse utilizando el método del objeto Axes correspondiente, no plt.plot() ni plt.scatter().

Conversión a un arreglo 1D

Puede aplanar el arreglo 2D de Axes usando .ravel() para simplificar la indexación:

123456789
fig, axs = plt.subplots(2, 2) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Con una matriz de 2x2, axs.ravel() la convierte en un arreglo unidimensional que contiene cuatro elementos.

Compartir un eje

La función subplots() también tiene los parámetros sharex y sharey. Estos controlan si los ejes x o y se comparten entre los subgráficos. Ambos están configurados como False por defecto.

123456789
fig, axs = plt.subplots(2, 2, sharex=True) axs = axs.ravel() axs[0].plot(data_linear) axs[1].plot(data_squared) axs[2].scatter(data_linear, data_linear) axs[3].scatter(data_linear, data_squared) plt.show()
copy

Configurar sharex=True comparte el eje x entre todas las subgráficas. También se puede pasar 'row' o 'col' para compartir los ejes solo dentro de filas o columnas.

Note
Estudiar más

Como siempre, siéntase libre de explorar más en la subplots() documentación si lo desea.

Tarea

Swipe to start coding

  1. Utilizar la función adecuada para crear una cuadrícula de subgráficos.
  2. La cuadrícula debe tener 3 filas y 1 columna (especificar los dos primeros parámetros).
  3. Especificar el argumento de palabra clave más a la derecha para que el eje x se comparta entre todos los subgráficos.
  4. Almacenar el resultado de la función para crear subgráficos en las variables fig y axs (de izquierda a derecha).
  5. Colocar el primer gráfico de líneas para data_linear en la primera fila (fila 0) de la cuadrícula de subgráficos.
  6. Colocar el segundo gráfico de líneas para data_squared en la segunda fila (fila 1) de la cuadrícula de subgráficos.
  7. Colocar el tercer gráfico de líneas para data_exp en la tercera fila (fila 2) de la cuadrícula de subgráficos.

Solución

Switch to desktopCambia al escritorio para practicar en el mundo realContinúe desde donde se encuentra utilizando una de las siguientes opciones
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 3. Capítulo 6
single

single

some-alt