Publicado el 31/03/2025
Visualizar datos de forma clara es clave para cualquier proyecto de análisis o desarrollo de dashboards. En esta publicación te muestro cómo crear gráficos usando Python, combinando dos librerías muy potentes: pandas y matplotlib.
📦 ¿Qué necesitas?
- Python instalado (recomiendo usar un entorno virtual o Anaconda)
- Librerías instaladas: pip install pandas matplotlib
- Un archivo .csv con tus datos o una tabla generada desde código
📊 Ejemplo de código Supongamos que tienes un archivo gastos.csv con este contenido:
fecha,categoria,cantidad
2024-01-01,Alimentación,120
2024-01-05,Transporte,60
2024-01-10,Ocio,90
🐍 Código en Python para analizar y graficar los datos:
import pandas as pd
import matplotlib.pyplot as plt
# 1. Leer el archivo CSV y convertir la columna "fecha" a tipo fecha
df = pd.read_csv("gastos.csv", parse_dates=["fecha"])
# 2. Agrupar los datos por categoría y sumar las cantidades
gastos_por_categoria = df.groupby("categoria")["cantidad"].sum()
# 3. Crear un gráfico de barras con los datos agrupados
plt.figure(figsize=(8, 5))
gastos_por_categoria.plot(kind="bar", color="skyblue")
# 4. Personalizar el gráfico
plt.title("Gastos por categoría")
plt.xlabel("Categoría")
plt.ylabel("Cantidad (€)")
plt.tight_layout()
# 5. Mostrar el gráfico
plt.show()
🎯 ¿Qué representa este gráfico? Este tipo de gráfico muestra rápidamente en qué categorías estás gastando más. Es perfecto para analizar presupuestos, detectar desequilibrios y mejorar tus finanzas personales o empresariales.
🔁 Puedes adaptar este ejemplo para: - Gráficos de líneas (tendencias en el tiempo) - Gráficos de torta (porcentajes por categoría) - Visualizar ingresos vs gastos - Agrupar por fechas (meses, semanas…)
🧠 ¿Qué aprendí al hacerlo?
- Cómo leer archivos CSV con pandas
- Agrupar y resumir datos con .groupby()
- Crear visualizaciones atractivas con matplotlib
- Entender que un buen gráfico puede explicar más que 1000 líneas de texto
Este proyecto lo puedes integrar fácilmente en un dashboard o aplicación web. Es parte de mi portfolio en jr-code.es, y me permite seguir creciendo como desarrollador backend con orientación a datos. 🚀