5. Tipos de gráficos básicos en Matplotlib

Matplotlib permite crear una amplia variedad de gráficos para visualizar datos de manera efectiva en proyectos desarrollados con Python.

En este apartado repasamos los tipos de gráficos más usados en análisis exploratorio: líneas, dispersión, barras, histogramas y boxplots.

5.1 Gráficos de líneas (plot)

El gráfico de líneas es ideal para seguir la evolución de una variable en el tiempo o frente a otra magnitud.

import matplotlib.pyplot as plt

# Datos
meses = ["Ene", "Feb", "Mar", "Abr", "May", "Jun"]
ventas = [100, 120, 90, 140, 180, 160]

# Gráfico de líneas
plt.plot(meses, ventas, marker="o", color="blue", linestyle="-")

plt.title("Ventas mensuales")
plt.xlabel("Meses")
plt.ylabel("Ventas (en miles)")
plt.show()
Salida del gráfico de líneas en Matplotlib

📌 Usos típicos: evolución de series temporales, tendencias y proyecciones.

5.2 Diagramas de dispersión (scatter)

Se emplean para mostrar la relación entre dos variables numéricas, detectando correlaciones o agrupamientos.

import matplotlib.pyplot as plt

# Datos
altura = [150, 160, 170, 180, 190, 200]
peso = [50, 60, 65, 80, 85, 95]

# Diagrama de dispersión
plt.scatter(altura, peso, color="red", marker="x")

plt.title("Relación entre altura y peso")
plt.xlabel("Altura (cm)")
plt.ylabel("Peso (kg)")
plt.show()
Salida del diagrama de dispersión en Matplotlib

💡 Usos típicos: correlaciones, clustering y análisis exploratorio.

5.3 Gráficos de barras (bar y barh)

Sirven para comparar categorías o valores discretos, tanto en orientación vertical como horizontal.

Barras verticales

import matplotlib.pyplot as plt

categorias = ["A", "B", "C", "D"]
valores = [4, 7, 1, 8]

plt.bar(categorias, valores, color="orange")
plt.title("Gráfico de barras")
plt.xlabel("Categorías")
plt.ylabel("Valores")
plt.show()
Resultado del gráfico de barras verticales

Barras horizontales

import matplotlib.pyplot as plt

categorias = ["A", "B", "C", "D"]
valores = [4, 7, 1, 8]

plt.barh(categorias, valores, color="green")
plt.title("Gráfico de barras horizontal")
plt.xlabel("Valores")
plt.ylabel("Categorías")
plt.show()
Resultado del gráfico de barras horizontales

📊 Usos típicos: comparar ventas por producto, resultados en encuestas o frecuencias de eventos.

5.4 Histogramas (hist)

Los histogramas muestran la distribución de frecuencias de un conjunto de datos, agrupándolos en intervalos. En proyectos con Python es habitual complementar con NumPy para generar datos de ejemplo.

import matplotlib.pyplot as plt
import numpy as np

# Generar datos aleatorios
datos = np.random.randn(1000)  # Distribución normal

plt.hist(datos, bins=30, color="skyblue", edgecolor="black")
plt.title("Histograma de distribución normal")
plt.xlabel("Valor")
plt.ylabel("Frecuencia")
plt.show()
Histograma generado con Matplotlib

📈 Usos típicos: distribución de edades, notas de estudiantes o ingresos.

5.5 Boxplots (boxplot)

El diagrama de caja y bigotes sintetiza la distribución de un conjunto de datos: la caja representa el rango intercuartílico, la línea central la mediana y los bigotes los valores sin outliers.

import matplotlib.pyplot as plt

# Datos de ejemplo
grupo1 = [7, 8, 5, 6, 9, 10, 6, 7, 8, 6]
grupo2 = [5, 6, 7, 8, 7, 9, 5, 6, 6, 7]

plt.boxplot([grupo1, grupo2], tick_labels=["Grupo 1", "Grupo 2"])
plt.title("Comparación de dos grupos")
plt.ylabel("Valores")
plt.show()
Boxplot comparativo en Matplotlib

📊 Usos típicos: comparar rendimiento entre grupos, analizar distribuciones salariales o detectar outliers.

Resumen del tema

  • Gráficos de líneas (plot) resultan ideales para tendencias y series temporales.
  • Los diagramas de dispersión (scatter) muestran relaciones entre dos variables.
  • Los gráficos de barras (bar, barh) comparan categorías de forma rápida.
  • Los histogramas (hist) describen la distribución de frecuencias de una variable.
  • Los boxplots (boxplot) facilitan el análisis de mediana, dispersión y outliers.