Conceptos básicos de visualización
8 ejemplos para empezar con la visualización: 6 básicos y 2 intermedios.
Busca en todas las páginas de la documentación
8 ejemplos para empezar con la visualización: 6 básicos y 2 intermedios.
uv pip install matplotlib seaborn pandas plotlyMostrar cambios a lo largo del tiempo o categorías ordenadas.
import matplotlib.pyplot as plt
months = ["Ene", "Feb", "Mar", "Abr"]
revenue = [120, 135, 128, 150]
plt.plot(months, revenue, marker="o")
plt.ylabel("Ingresos ($k)")
plt.title("Ingresos Mensuales")
plt.tight_layout()
plt.savefig("trend.png", dpi=150)
plt.close()plt.close() en scripts para liberar memoria.Relacionado: matplotlib - figuras y ejes
Comparar categorías discretas una al lado de la otra.
import matplotlib.pyplot as plt
regions = ["Este", "Oeste", "Central"]
totals = [420, 380, 290]
plt.bar(regions, totals, color=["#2c7bb6", "#abd9e9", "#fdae61"])
plt.ylabel("Ingresos totales")
plt.tight_layout()Relacionado: seaborn - gráficos de barras estadísticos
Revelar la dispersión y la asimetría de una variable numérica.
import matplotlib.pyplot as plt
import numpy as np
rng = np.random.default_rng(42)
values = rng.normal(100, 15, size=500)
plt.hist(values, bins=20, edgecolor="white")
plt.xlabel("Puntuación")
plt.ylabel("Conteo")density=True compara distribuciones con diferentes tamaños de muestra.Relacionado: seaborn -
histploty KDE
Explorar la correlación entre dos variables numéricas.
import matplotlib.pyplot as plt
ad_spend = [10, 20, 15, 30, 25]
revenue = [120, 180, 150, 240, 210]
plt.scatter(ad_spend, revenue, alpha=0.7)
plt.xlabel("Gasto en publicidad ($k)")
plt.ylabel("Ingresos ($k)")regplot de seaborn cuando la tendencia sea el mensaje.Relacionado: seaborn -
scatterplotcon matices (hues)
Obtenga temas y paletas de colores legibles rápidamente.
import seaborn as sns
import matplotlib.pyplot as plt
import pandas as pd
df = pd.DataFrame({"region": ["Este", "Oeste"] * 5, "revenue": range(10)})
sns.set_theme(style="whitegrid")
sns.barplot(data=df, x="region", y="revenue", estimator=sum, errorbar=None)
plt.tight_layout()data= evita la manipulación manual de ejes.estimator y errorbar controlan la semántica de agregación.Relacionado: seaborn - flujos de trabajo de EDA
Controlar DPI, bbox y formatos vectoriales.
import matplotlib.pyplot as plt
fig, ax = plt.subplots(figsize=(6, 4))
ax.plot([1, 2, 3], [1, 4, 9])
fig.savefig("chart.pdf", bbox_inches="tight") # vector para impresión
fig.savefig("chart.png", dpi=300, bbox_inches="tight")
plt.close(fig)bbox_inches="tight" recorta los márgenes excesivos.fig, ax se escala a subgráficos.Relacionado: matplotlib - ciclo de vida de la figura
Explore puntos densos con tooltips en el navegador.
import plotly.express as px
import pandas as pd
df = pd.DataFrame({"x": range(20), "y": [i**1.5 for i in range(20)], "cat": ["A", "B"] * 10})
fig = px.scatter(df, x="x", y="y", color="cat", hover_data=["x", "y"])
fig.write_html("scatter.html")Relacionado: Plotly - gráficos interactivos
Componga especificaciones de gramática de gráficos que permanezcan legibles.
import altair as alt
import pandas as pd
df = pd.DataFrame({"month": ["Ene", "Feb", "Mar"], "revenue": [120, 135, 128]})
chart = alt.Chart(df).mark_line(point=True).encode(x="month", y="revenue")
chart.save("revenue.json") # Especificación Vega-LiteRelacionado: Altair - codificación declarativa
Versiones de la pila: Esta página fue escrita para Python 3.14.0 (estable 3.14, mantenimiento 3.13), FastAPI 0.115+, Django 5.2, Flask 3.1, Pydantic 2, PyTorch 2.6+, pandas 2.2+, Polars 1.x, ruff 0.9+ y uv 0.6+.
Revisado por Chris St. John·Última actualización: 16 jul 2026