Personalización Avanzada de Gráficos en Matplotlib
Clase 24 de 32 • Curso de Python para Ciencia de Datos
Resumen
Vamos a explorar cómo crear gráficos de líneas utilizando la biblioteca matplotlib
en Python.
El objetivo es visualizar la relación entre las horas estudiadas y los puntajes obtenidos por dos estudiantes en un examen. A lo largo de este ejercicio, aprenderás a configurar el tamaño del gráfico, trazar múltiples series de datos, personalizar las líneas y marcadores, y agregar anotaciones para destacar puntos importantes en la visualización.
También existe personalizaciones que podemos hacer con la escala que se maneja en X y Y o si queremos apuntar a algún punto específico como vemos en el siguiente ejercicio
import matplotlib.pyplot as plt
plt.figure(figsize=(8,6))
hours = [2,3,4,5,6,7,8]
exam_scores_student_1 = [55, 60, 65, 70, 75, 80, 85]
exam_scores_student_2 = [50, 58, 63, 69, 74, 78, 83]
plt.plot(hours, exam_scores_student_1, marker='o', color='green', linestyle='-', linewidth = 2 , label = 'Estudiante 1')
plt.plot(hours, exam_scores_student_2, marker='s', color='red', linestyle='--',linewidth = 2, label = 'Estudiante 2')
# Añadir anotación en un punto específico
plt.annotate('Mejora significativa', xy=(5, 70), xytext=(6, 60),
arrowprops=dict(facecolor='black', shrink=0.05))
# Escalar los ejes para ajustar mejor los datos
plt.ylim(50, 90) # Escala del eje y
plt.xlim(0, 8) # Escala del eje x
plt.title('Relación entre horas estudiadas y el puntaje de dos estudiantes')
plt.xlabel('Horas')
plt.ylabel('Puntaje')
#Añadir la leyenda de explicación
plt.legend()
plt.show()
- plt.annotate(): Esta función se usa para añadir una anotación en un punto específico del gráfico. En este caso, estamos señalando una “Mejora significativa” en el puntaje del “Estudiante 1” cuando estudia 5 horas, con una flecha que apunta al punto en el gráfico.
- plt.ylim() y plt.xlim(): Estas funciones permiten ajustar las escalas de los ejes para que los datos se presenten de manera más clara. Aquí, el eje
y
se limita a un rango de 50 a 90 puntos y el ejex
de 2 a 8 horas, para enfocar mejor la visualización en los datos relevantes.
Este ejercicio demuestra cómo matplotlib
puede ser una herramienta poderosa para visualizar datos de manera efectiva. Al personalizar los gráficos con anotaciones y ajustes de escala, podemos resaltar tendencias y puntos clave en los datos, facilitando así su interpretación.