Pensamiento Computacional (090) · Unidad 6 — Bibliotecas de Python
Gráficos con Matplotlib
Un gráfico es la forma más rápida de entender un conjunto de datos. Con tres líneas ya tenés uno, pero sin títulos no sirve de nada.
La explicación
El gráfico mínimo
x = [1, 2, 3, 4]
y = [1, 4, 9, 16]
plt.plot(x, y)
plt.show()
El as plt es la convención, igual que np y pd.
plot dibuja y show muestra. Sin show(), en muchos
entornos no aparece nada.
x con su y. Si una tiene 4 y la otra 5, el error que tira no menciona
eso claramente, así que conviene chequearlo antes con len().
Tipos de gráfico
plt.bar(x, y) barras comparar categorías
plt.scatter(x, y) puntos ver si dos variables se relacionan
plt.hist(datos) histograma cómo se reparten los valores
Elegir bien importa: un gráfico de líneas entre categorías que no tienen orden sugiere una continuidad que no existe.
Sin títulos no se entiende
plt.title("Notas por parcial")
plt.xlabel("Parcial")
plt.ylabel("Nota")
plt.show()
Varias series
plt.plot(x, y2, label="Curso B")
plt.legend() # sin esto los label no se ven
plt.show()
Cada plot antes del show se dibuja sobre el mismo gráfico. El
legend() es el que hace aparecer la referencia.
Juntando todo
plt.bar(df["nombre"], df["nota"])
plt.title("Notas del curso")
plt.ylabel("Nota")
plt.show()
Leer con Pandas y graficar con Matplotlib es la combinación estándar, y es a donde apunta toda la unidad: de un archivo de datos a una conclusión que se ve.
Con un CSV de notas (columnas nombre y nota), hacer un gráfico de barras presentable.
import matplotlib.pyplot as plt
df = pd.read_csv("notas.csv")
plt.bar(df["nombre"], df["nota"])
plt.title("Notas del curso")
plt.xlabel("Estudiante")
plt.ylabel("Nota")
plt.ylim(0, 10)
plt.show()
Por qué barras y no líneas. Los nombres son categorías, no una secuencia. Una línea entre ana, luis y sol sugeriría que hay una evolución entre ellos, y no la hay.
Por qué ylim(0, 10). Sin eso, Matplotlib ajusta el eje al rango de los
datos. Si todas las notas están entre 7 y 9, el eje arranca en 7 y las diferencias se ven
enormes. Fijar la escala real de las notas evita exagerar sin querer.
Control antes de entregar: ¿tiene título? ¿los dos ejes están etiquetados? ¿se entiende sin que nadie te lo explique? Si la respuesta a las tres es sí, está listo.
Dónde se cae la mayoría
- Olvidar plt.show() y que no aparezca nada, sin ningún mensaje de error.
- Entregar un gráfico sin título ni etiquetas de ejes.
- Pasar dos listas de distinto largo a plot: cada x necesita su y.
Hasta acá la explicación. La práctica es la otra mitad: 7 ejercicios de este tema, en cuatro niveles, que no te dicen sólo si está bien al final sino que te corrigen en cada paso y te explican por qué. Además trae una animación que muestra la idea en movimiento.
Practicar Gráficos con Matplotlib →