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()

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.
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()
📌 Usos típicos: evolución de series temporales, tendencias y proyecciones.
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()
💡 Usos típicos: correlaciones, clustering y análisis exploratorio.
bar
y barh
)Sirven para comparar categorías o valores discretos, tanto en orientación vertical como horizontal.
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()
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()
📊 Usos típicos: comparar ventas por producto, resultados en encuestas o frecuencias de eventos.
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()
📈 Usos típicos: distribución de edades, notas de estudiantes o ingresos.
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()
📊 Usos típicos: comparar rendimiento entre grupos, analizar distribuciones salariales o detectar outliers.
plot
) resultan ideales para tendencias y series temporales.scatter
) muestran relaciones entre dos variables.bar
, barh
) comparan categorías de forma rápida.hist
) describen la distribución de frecuencias de una variable.boxplot
) facilitan el análisis de mediana, dispersión y outliers.