0Pricing
Python Academy · Lección

Subgráficos y distribuciones

Combine varios gráficos

Subgráficos y distribuciones es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Python Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Python Academy incluye 4 lecciones en total.

Por qué usar varios gráficos

A menudo, un solo gráfico no basta. Puede que quiera comparar varias vistas una junto a otra o dividir un gráfico recargado en paneles más pequeños. Matplotlib denomina a esto organizar varios Axes dentro de una sola Figure.

La herramienta principal es plt.subplots(rows, cols).

Una cuadrícula de Axes

fig, axes = plt.subplots(2, 3) crea una figura con una cuadrícula de 2 por 3, lo que proporciona seis objetos Axes. El resultado axes es una matriz bidimensional que se indexa como axes[0][1].

El número total de paneles es simplemente el número de filas multiplicado por el número de columnas.

rows, cols = 2, 3
total = rows * cols
print('Grid', rows, 'x', cols, '=', total, 'axes')
for r in range(rows):
    for c in range(cols):
        print('panel at', (r, c))

Indexar la matriz de Axes

Con una sola fila, axes es unidimensional: utilice axes[0] y axes[1]. Con una cuadrícula completa, es bidimensional: axes[row][col].

Para un solo subgráfico, no es necesario indexar nada.

Recorrer los paneles

Un patrón claro consiste en aplanar la cuadrícula y recorrerla, asociando cada objeto Axes con sus datos. Así se evita repetir código prácticamente idéntico para cada panel.

datasets = ['A', 'B', 'C', 'D']
# imagine axes flattened to a list of 4
for i, name in enumerate(datasets):
    print('Plot dataset', name, 'on flat axes index', i)

Axes compartidos

Cuando los paneles comparten una escala, pase sharex=True o sharey=True. Los subgráficos utilizarán entonces un intervalo común, lo que hace justas las comparaciones y elimina las etiquetas de marcas redundantes.

Es una opción ideal para series temporales apiladas.

Tamaño de la figura para cuadrículas

Una cuadrícula necesita más espacio que un solo gráfico. Establezca figsize=(width, height) en pulgadas al llamar a subplots. Como regla general, ajuste el tamaño en función del número de columnas y filas.

cols, rows = 3, 2
per_panel_w, per_panel_h = 3, 2.5
print('Suggested figsize:', (cols * per_panel_w, rows * per_panel_h))

Espaciado entre paneles

Los paneles pueden quedar demasiado juntos. fig.tight_layout() corrige automáticamente la mayoría de los casos. Para un control más preciso, utilice fig.subplots_adjust(wspace=0.4, hspace=0.4) para establecer los espacios horizontal y vertical.

Los valores más grandes indican más espacio entre los subgráficos.

Diseños irregulares con GridSpec

No todos los diseños forman una cuadrícula uniforme. GridSpec permite que un objeto Axes abarque varias filas o columnas; por ejemplo, un gráfico ancho arriba y dos pequeños debajo.

Defina la cuadrícula y, después, córtela como una matriz para colocar cada objeto Axes.

Planificar las extensiones

Piense en los slices de GridSpec como intervalos. Un gráfico superior que abarque todas las columnas es gs[0, :]; un gráfico inferior izquierdo es gs[1, 0]. Planificar primero los slices sobre el papel evita confusiones.

layout = {
    'header': '[0, :]   (full width)',
    'left':   '[1, 0]   (bottom left)',
    'right':  '[1, 1]   (bottom right)',
}
for name, slot in layout.items():
    print(name.ljust(7), slot)

Una figura, una historia

Una figura con varios paneles debe seguir contando una única historia coherente. Utilice un fig.suptitle() compartido, colores coherentes y escalas compartidas para que los paneles se interpreten como una unidad y no como un collage aleatorio.

Personalización por panel

Como cada celda es su propio objeto Axes, puede personalizarlas de forma independiente. axes[0][0].set_title('Sales') pone título únicamente al panel superior izquierdo, mientras que axes[1][1].set_ylabel('Cost') etiqueta únicamente el panel inferior derecho.

Esta independencia es precisamente la razón por la que el estilo orientado a objetos resulta tan útil con las cuadrículas.

Comprobación rápida

Compruebe cuánto entiende de los diseños con varios paneles.

Repaso

Ahora puede combinar gráficos:

  • plt.subplots(rows, cols) construye una cuadrícula de objetos Axes
  • Indexe con axes[row][col] o aplane la cuadrícula y recórrala
  • sharex/sharey alinean las escalas; figsize establece el tamaño de la cuadrícula
  • tight_layout y subplots_adjust gestionan el espaciado
  • GridSpec permite crear paneles que abarcan varias celdas

Preguntas frecuentes

¿La lección «Subgráficos y distribuciones» es gratis?

Sí — el texto completo de «Subgráficos y distribuciones» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Python Academy, actualiza a CoddyKit PRO. El curso de Python Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Subgráficos y distribuciones»?

Combine varios gráficos Practicas Python Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Python Academy?

No se requiere experiencia previa. Python Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Subgráficos y distribuciones»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Python Academy?

Sí. Cada lección de Python Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. Figuras y ejes
  2. Gráficos de líneas, barras y dispersión
  3. Personalización de gráficos
  4. Subgráficos y distribuciones
← Volver a Python Academy