Mira la lección en vídeo
Accede al vídeo completo de esta lección y a más contenido exclusivo con el Plan Plus.
Desbloquear Plan PlusTítulos con Matplotlib
En Matplotlib, los títulos son una parte fundamental para la personalización de gráficos, ya que permiten identificar y describir el contenido de un gráfico de manera clara. Para añadir un título a una gráfica, se utiliza la función set_title()
del objeto Axes
. Esta función ofrece múltiples opciones para ajustar el estilo y la posición del título.
La sintaxis básica para añadir un título es:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4], [10, 20, 25, 30])
ax.set_title("Título del gráfico")
plt.show()
En este ejemplo, set_title()
establece "Título del gráfico" como el título de la gráfica. Sin embargo, Matplotlib permite una personalización más avanzada a través de parámetros opcionales que se pueden pasar a esta función.
El resultado visual sería el siguiente:
- Fuente y tamaño: Se puede personalizar la fuente y el tamaño del título utilizando el parámetro
fontdict
. Este es un diccionario que puede incluir claves comofontsize
,fontweight
, entre otras.
ax.set_title("Título del gráfico", fontdict={'fontsize': 14, 'fontweight': 'bold'})
- Posición del título: El parámetro
loc
permite especificar la posición del título. Las opciones incluyen'center'
,'left'
, y'right'
.
ax.set_title("Título del gráfico", loc='left')
- Color y estilo: Además del tamaño y la posición, se puede cambiar el color y aplicar estilos al título con parámetros adicionales como
color
ystyle
.
ax.set_title("Título del gráfico", color='red', style='italic')
- Ajuste de márgenes: Para ajustar la cantidad de espacio entre el título y la gráfica, se puede utilizar el parámetro
pad
, que especifica el espacio en puntos.
ax.set_title("Título del gráfico", pad=20)
- Usar LaTeX para expresiones matemáticas: Si se requiere incluir expresiones matemáticas en el título, Matplotlib permite el uso de sintaxis LaTeX al envolver la expresión entre signos de dólar.
ax.set_title(r"Expresión matemática: $E=mc^2$")
Estas opciones proporcionan un control detallado sobre cómo se presentan los títulos en los gráficos, permitiendo una personalización que se adapta a las necesidades específicas de presentación de datos. Es importante explorar la documentación de Matplotlib para conocer todas las posibilidades y opciones avanzadas disponibles.
Etiquetas, anotaciones y texto con matplotlib
Guarda tu progreso
Inicia sesión para no perder tu progreso y accede a miles de tutoriales, ejercicios prácticos y nuestro asistente de IA.
Más de 25.000 desarrolladores ya confían en CertiDevs
En Matplotlib, las etiquetas y anotaciones son esenciales para proporcionar contexto adicional a los gráficos. Las etiquetas se utilizan principalmente para los ejes, mientras que las anotaciones y el texto son útiles para resaltar puntos específicos o áreas de interés en una gráfica.
Para añadir etiquetas a los ejes, se utilizan las funciones set_xlabel()
y set_ylabel()
del objeto Axes
. Estas funciones permiten especificar el texto de las etiquetas y ofrecen opciones para personalizar su apariencia.
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4], [10, 20, 25, 30])
ax.set_xlabel("Eje X")
ax.set_ylabel("Eje Y")
plt.show()
Así se vería la gráfica:
En este ejemplo, set_xlabel()
y set_ylabel()
añaden etiquetas a los ejes X e Y respectivamente. Se puede personalizar el tamaño de la fuente, el color y el estilo de las etiquetas utilizando un diccionario de fuentes similar al de los títulos.
Para añadir anotaciones, se utiliza la función annotate()
. Esta función es muy flexible y permite colocar texto en cualquier parte del gráfico, con la opción de añadir flechas o líneas que conecten el texto con un punto específico de la gráfica.
ax.annotate('Punto importante', xy=(3, 25), xytext=(3, 30),
arrowprops=dict(facecolor='black', shrink=0.05))
En este ejemplo, annotate()
coloca el texto "Punto importante" cerca del punto (3, 25) en la gráfica, con una flecha que lo conecta al punto especificado. El parámetro arrowprops
permite personalizar la apariencia de la flecha.
Para añadir texto libre en cualquier parte de la gráfica, se utiliza la función text()
, que coloca texto en una posición absoluta dentro del sistema de coordenadas de la gráfica.
ax.text(2, 15, "Texto libre", fontsize=12, color='blue')
El uso de text()
es útil para añadir explicaciones o datos adicionales dentro de la gráfica que no están directamente relacionados con un punto específico.
Matplotlib también permite incluir texto con formato LaTeX para expresar fórmulas matemáticas en las etiquetas y anotaciones, utilizando la misma sintaxis que para los títulos.
ax.set_xlabel(r"Eje X ($\mu m$)")
ax.annotate(r'$\alpha > \beta$', xy=(1.2, 10), fontsize=12)
Estas herramientas de Matplotlib para trabajar con etiquetas, anotaciones y texto proporcionan un control detallado sobre cómo se presenta la información adicional en los gráficos, permitiendo que los datos se comuniquen de manera más efectiva y precisa.
Leyenda con Matplotlib
En Matplotlib, la leyenda es un componente crucial para la interpretación correcta de un gráfico, especialmente cuando se manejan múltiples series de datos.
La función legend()
del objeto Axes
se utiliza para añadir y personalizar leyendas. Esta función puede configurarse para mostrar automáticamente las etiquetas de los datos o personalizarse con diversos parámetros.
Para mostrar una leyenda básica, cada serie de datos debe incluir un identificador mediante el argumento label
en la función de trazado, como plot()
. Posteriormente, se llama a legend()
para generar la leyenda:
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.plot([1, 2, 3, 4], [10, 20, 25, 30], label='Serie 1')
ax.plot([1, 2, 3, 4], [30, 25, 20, 15], label='Serie 2')
ax.legend()
plt.show()
El gráfico generado es el siguiente:
En este ejemplo, la función legend()
utiliza las etiquetas proporcionadas en label
para cada serie de datos y genera una leyenda que las identifica.
Para personalizar la ubicación de la leyenda, se puede utilizar el parámetro loc
, que acepta tanto cadenas como enteros para definir posiciones predefinidas o específicas dentro del gráfico:
ax.legend(loc='upper right')
Además de la ubicación, es posible personalizar otros aspectos de la leyenda, como el tamaño de la fuente y el número de columnas, ajustando parámetros adicionales:
ax.legend(loc='upper right', fontsize='small', ncol=2)
La personalización de la leyenda también permite ajustar el fondo y el borde. Por ejemplo, frameon=False
elimina el cuadro alrededor de la leyenda, y shadow=True
añade una sombra:
ax.legend(frameon=False, shadow=True)
Para modificar el título de la leyenda o añadir uno, se puede utilizar el parámetro title
:
ax.legend(title='Datos de ejemplo')
En situaciones donde se requiere una leyenda más detallada, se pueden especificar manualmente los identificadores y descripciones mediante handles
y labels
, proporcionando un control más fino sobre el contenido de la leyenda:
handles, labels = ax.get_legend_handles_labels()
ax.legend(handles, labels, loc='upper left')
Esta técnica es útil cuando se necesita modificar o filtrar elementos de la leyenda sin alterar las etiquetas de los datos.
En resumen, la función legend()
en Matplotlib es altamente flexible y permite una personalización detallada para adaptarse a las necesidades de presentación de datos, mejorando la claridad y comprensión de los gráficos.
Aprendizajes de esta lección de Matplotlib
1. Comprender cómo añadir y personalizar títulos en gráficos de Matplotlib.
2. Aprender a integrar etiquetas y anotaciones de texto de manera efectiva.
3. Dominar la creación y configuración de leyendas para gráficos complejos.
4. Controlar los límites de los ejes para ajustar la visualización de los datos.
5. Aplicar técnicas avanzadas de personalización para mejorar la comunicación visual de los gráficos.
Completa este curso de Matplotlib y certifícate
Únete a nuestra plataforma de cursos de programación y accede a miles de tutoriales, ejercicios prácticos, proyectos reales y nuestro asistente de IA personalizado para acelerar tu aprendizaje.
Asistente IA
Resuelve dudas al instante
Ejercicios
Practica con proyectos reales
Certificados
Valida tus conocimientos
Más de 25.000 desarrolladores ya se han certificado con CertiDevs