Un análisis sin visualización es como un mapa sin dibujar. Los gráficos permiten detectar patrones que los números solos no muestran, comunicar hallazgos de forma clara y explorar datos rápidamente. La visualización no es un paso opcional — es parte central del proceso de análisis.
¿Para qué sirve visualizar datos?
- Exploración: descubrir distribuciones, outliers y relaciones antes del análisis formal
- Validación: verificar que los datos se comportan como esperas
- Comunicación: mostrar resultados a personas que no son analistas
Tipos de gráficos y cuándo usarlos
Gráfico de barras — comparar categorías
import pandas as pd
import matplotlib.pyplot as plt
ventas = pd.Series({'Norte': 45000, 'Sur': 32000, 'Este': 58000, 'Oeste': 41000})
ventas.plot(kind='bar', color='steelblue')
plt.title('Ventas por región')
plt.ylabel('Monto ($)')
plt.xticks(rotation=0)
plt.show()
Úsalo cuando compares valores entre categorías.
Histograma — distribución de una variable numérica
df['salario'].plot(kind='hist', bins=15, edgecolor='black')
plt.title('Distribución de salarios')
plt.xlabel('Salario')
plt.show()
Úsalo para ver cómo se distribuyen los valores de una variable continua.
Gráfico de línea — evolución en el tiempo
df_tiempo = pd.DataFrame({
'mes': range(1, 13),
'ventas': [12000, 15000, 11000, 18000, 22000, 19000,
24000, 21000, 17000, 20000, 25000, 30000]
})
df_tiempo.plot(x='mes', y='ventas', kind='line', marker='o')
plt.title('Ventas mensuales')
plt.show()
Úsalo para mostrar tendencias a lo largo del tiempo.
Boxplot — distribución con outliers
df[['salario']].plot(kind='box')
plt.title('Distribución de salarios')
plt.show()
Úsalo para ver la distribución, rango intercuartílico y outliers de una variable.
Scatter plot — relación entre dos variables
df.plot(kind='scatter', x='horas_estudio', y='nota', alpha=0.6)
plt.title('Horas de estudio vs Nota')
plt.show()
Úsalo para explorar la correlación entre dos variables numéricas.
Seaborn: visualizaciones más elegantes
Seaborn construye sobre matplotlib y genera gráficos más estéticos con menos código:
import seaborn as sns
sns.histplot(df['salario'], kde=True)
sns.boxplot(data=df, x='depto', y='salario')
sns.scatterplot(data=df, x='edad', y='salario', hue='depto')
Principios de una buena visualización
- Título claro: que explique qué muestra el gráfico
- Etiquetas en los ejes: con unidades de medida
- No sobrecargar: menos es más — evita colores innecesarios y elementos decorativos
- Elegir el tipo correcto: no uses torta para comparar más de 4 o 5 categorías
Errores frecuentes
Usar gráfico de torta para muchas categorías: con más de 5 categorías, un gráfico de barras es mucho más legible.
Ejes que no empiezan en cero: puede hacer que diferencias pequeñas parezcan enormes. Sé honesto con la escala.
Gráficos sin título ni etiquetas: un gráfico sin contexto no comunica nada. Siempre incluye título y etiquetas de ejes.
Aprende haciendo, no solo leyendo
Leer es el primer paso. El verdadero aprendizaje ocurre cuando practicas con ejercicios reales de SQL y recibes corrección inmediata de IA.
Comenzar gratis →