Poner un título
Ponele un título al gráfico. Pista: ax.set_title(titulo). Devolvé ax.
Entrá y llevá tu progreso —ejercicios, medallas y Pokémon— a cualquier dispositivo. 🔄
Si tu cuenta ya tiene progreso guardado, se carga ese al entrar.
Entraste como . Tu progreso se sincroniza solo. 🔄
Ponele un título al gráfico. Pista: ax.set_title(titulo). Devolvé ax.
🎯 Meta: ver los datos. Un gráfico cuenta en un segundo lo que una tabla esconde en mil filas. Vas a graficar con matplotlib.
Los números están buenos, pero un gráfico convence. matplotlib es la librería clásica para dibujar: barras, líneas, dispersión, histogramas.
💡 Tocá ▶ ejecutar en los ejemplos: el gráfico aparece abajo, dibujado de verdad en tu navegador. 🎨
Lo más común: comparar valores entre categorías (ej: nivel de cada Pokémon).
import matplotlib.pyplot as plt
nombres = ["Pikachu", "Charizard", "Bulbasaur", "Snorlax"]
niveles = [25, 90, 12, 70]
fig, ax = plt.subplots()
ax.bar(nombres, niveles)
ax.set_title("Nivel de mi equipo")
ax.set_ylabel("Nivel")
plt.show()
💡 El patrón es siempre el mismo: fig, ax = plt.subplots() crea el lienzo, después dibujás sobre ax, y plt.show() lo muestra.
P: En matplotlib, ¿cuál es el rol de `fig, ax = plt.subplots()`?
- Muestra el gráfico en pantalla.
- Guarda el gráfico en un archivo.
+ Crea el lienzo (`fig`) y los ejes (`ax`) sobre los que vas a dibujar.
> `plt.subplots()` es el primer paso: prepara el espacio. Después usás `ax.bar(...)`, `ax.plot(...)`, etc. para dibujar sobre ese lienzo.
Ideal para ver una evolución (ej: cómo sube el nivel con la experiencia).
import matplotlib.pyplot as plt
exp = [0, 100, 250, 500, 800]
nivel = [1, 5, 12, 22, 35]
fig, ax = plt.subplots()
ax.plot(exp, nivel, marker="o")
ax.set_title("Nivel según experiencia")
ax.set_xlabel("EXP")
ax.set_ylabel("Nivel")
plt.show()
P: ¿Qué tipo de gráfico usarías para ver cómo evoluciona el nivel de un Pokémon a lo largo de sus batallas?
- `ax.bar(...)` — barras
+ `ax.plot(...)` — línea
- `ax.scatter(...)` — dispersión
> El gráfico de línea (`plot`) es ideal para mostrar una **evolución en el tiempo** o una secuencia. Las barras comparan categorías; la dispersión muestra relación entre dos variables.
Para ver la relación entre dos variables (ej: ataque vs defensa).
import matplotlib.pyplot as plt
ataque = [55, 84, 49, 110]
defensa = [40, 78, 49, 65]
fig, ax = plt.subplots()
ax.scatter(ataque, defensa)
ax.set_xlabel("Ataque")
ax.set_ylabel("Defensa")
plt.show()
Muestra cómo se reparten los valores (ej: ¿hay muchos Pokémon de nivel bajo?).
import matplotlib.pyplot as plt
niveles = [5, 12, 15, 18, 22, 25, 28, 30, 70, 90]
fig, ax = plt.subplots()
ax.hist(niveles, bins=5)
ax.set_title("Distribución de niveles")
plt.show()
Lo mejor: pandas grafica directo. df.plot(...) usa matplotlib por dentro.
import pandas as pd
import matplotlib.pyplot as plt
pokedex = pd.DataFrame({"nombre": ["Pikachu", "Charizard", "Snorlax"], "nivel": [25, 90, 70]})
pokedex.plot(x="nombre", y="nivel", kind="bar", legend=False)
plt.title("Niveles")
plt.show()
| Cosa | Para qué |
|---|---|
fig, ax = plt.subplots() | crear el lienzo |
ax.bar(x, y) | gráfico de barras |
ax.plot(x, y) | línea |
ax.scatter(x, y) | dispersión |
ax.hist(datos) | histograma |
ax.set_title/xlabel/ylabel(...) | títulos y etiquetas |
plt.show() | mostrar el gráfico |
Practicá con los ejercicios de este tema. 💪
⚡ “Una imagen vale más que mil filas de un DataFrame.”