Figuras y ejes
Comprenda el modelo de gráficos
Figuras y ejes es una lección gratuita de Python Academy en CoddyKit. Esta es la lección 1 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.
El modelo de representación gráfica
Matplotlib es la biblioteca fundamental de representación gráfica para Python. Para utilizarla correctamente, debe comprender su modelo de dos niveles: Figure y Axes.
Una Figure es la ventana o página general sobre la que se dibuja todo. Un Axes es una gráfica individual dentro de esa figura, con su propio sistema de coordenadas x e y.
- Una figura puede contener muchos objetos Axes
- Cada objeto Axes es donde se encuentran realmente los datos
Figure frente a Axes frente a Axis
Es fácil confundir tres términos:
- Figure: la imagen completa, el contenedor
- Axes: una única región de representación gráfica (observe la ortografía; no es el plural de axis)
- Axis: la línea numérica del eje x o del eje y dentro de un objeto Axes
Por tanto, una figura contiene objetos Axes y cada objeto Axes contiene dos (o tres) objetos Axis.
Cómo crear una Figure y un Axes
La forma recomendada de empezar es plt.subplots(). Devuelve una figura y un objeto Axes en una sola llamada.
El modelo es fácil de entender incluso sin realizar la representación gráfica. Aquí simulamos lo que representan los objetos.
fig = {'type': 'Figure', 'axes': []}
ax = {'type': 'Axes', 'parent': 'Figure'}
fig['axes'].append(ax)
print('Figure holds', len(fig['axes']), 'axes')
print('Axes parent is the', ax['parent'])La interfaz pyplot
Matplotlib ofrece dos estilos. El estilo pyplot (basado en el estado) utiliza plt.plot() y realiza un seguimiento automático de la figura actual. El estilo orientado a objetos utiliza explícitamente ax.plot().
Para cualquier cosa que vaya más allá de un boceto rápido, prefiera el estilo orientado a objetos. Es más claro cuando tiene varios objetos Axes.
Por qué triunfa el estilo orientado a objetos
Cuando llama a plt.title('X'), se aplica al objeto Axes que esté definido como actual en ese momento. Con varias subgráficas, esto se vuelve ambiguo.
Con ax.set_title('X') no hay lugar a dudas: el método apunta exactamente al objeto Axes que ha indicado.
Sistemas de coordenadas
Cada objeto Axes asigna valores de datos a posiciones de visualización. Las coordenadas de datos representan el significado de sus números; el objeto Axes les aplica una escala para que encajen en el área de dibujo.
Podemos modelar esa asignación con matemáticas sencillas.
data_min, data_max = 0, 100
pixel_min, pixel_max = 0, 400
def to_pixels(value):
frac = (value - data_min) / (data_max - data_min)
return pixel_min + frac * (pixel_max - pixel_min)
for v in [0, 25, 50, 100]:
print('data', v, '->', to_pixels(v), 'px')Tamaño y DPI de la Figure
Una figura tiene un tamaño en pulgadas y una resolución en puntos por pulgada (DPI). El tamaño en píxeles es el producto de ambos valores.
Por ejemplo, una figura de 6x4 pulgadas a 100 DPI tiene 600x400 píxeles.
width_in, height_in = 6, 4
dpi = 100
print('Pixels:', width_in * dpi, 'x', height_in * dpi)Cómo añadir Axes manualmente
Además de plt.subplots(), puede añadir un objeto Axes en un rectángulo preciso con fig.add_axes([left, bottom, width, height]), donde cada valor es una fracción de la figura entre 0 y 1.
Así se crean las gráficas insertadas y las disposiciones personalizadas.
La Figure actual
Pyplot mantiene un registro de las figuras y un puntero a la actual. plt.gcf() obtiene la figura actual y plt.gca() obtiene el objeto Axes actual.
Estas funciones existen principalmente para admitir el estilo basado en el estado. En el código orientado a objetos, conserva sus propias referencias.
Cómo mostrar y cerrar
plt.show() representa todas las figuras abiertas en una ventana. plt.close() libera una figura. En los scripts que generan muchas figuras, cerrarlas evita que se acumule memoria.
En los notebooks, la figura se muestra automáticamente integrada en el documento.
Una lista mental de comprobación
Antes de dibujar nada, pregúntese:
- ¿Cuántas figuras necesito?
- ¿Cuántos Axes necesito en cada figura?
- ¿A qué Axes pertenece cada dato?
Responder primero a estas preguntas hace que la API orientada a objetos resulte natural.
Comprobación rápida
Compruebe cuánto entiende del modelo de figuras y ejes.
Repaso
Ha aprendido el modelo fundamental de Matplotlib:
- Figure: el contenedor, dimensionado en pulgadas multiplicadas por DPI
- Axes: un gráfico individual con sus propias coordenadas
- Axis: la recta numérica del eje x o y
- Prefiera el estilo orientado a objetos con
fig, ax = plt.subplots()
Con este modelo mental, todas las personalizaciones posteriores resultan predecibles.
Preguntas frecuentes
¿La lección «Figuras y ejes» es gratis?
Sí — el texto completo de «Figuras y ejes» 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 «Figuras y ejes»?
Comprenda el modelo de 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 1 de 4.
¿Cuánto tiempo toma la lección «Figuras y ejes»?
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
- Figuras y ejes
- Gráficos de líneas, barras y dispersión
- Personalización de gráficos
- Subgráficos y distribuciones