QuΓ© es Plotly, cΓ³mo estΓ‘ estructurada y cΓ³mo utilizarla
Plotly es una librerΓa de visualizaciΓ³n interactiva para Python que permite:
A diferencia de Matplotlib y Seaborn, que generan grΓ‘ficos estΓ‘ticos por defecto, Plotly estΓ‘ diseΓ±ado para la exploraciΓ³n interactiva de datos.
Plotly sigue una arquitectura en dos niveles principales :
| Nivel | LibrerΓa | CuΓ‘ndo usarla |
|---|---|---|
| Alto nivel | plotly.express |
AnΓ‘lisis rΓ‘pido, EDA, grΓ‘ficos directos |
| Bajo nivel | plotly.graph_objects |
Control fino, dashboards, subplots complejos |
Es la forma mΓ‘s sencilla y productiva de trabajar.
import plotly.express as px
import pandas as pd
df = px.data.iris()
fig = px.scatter(
df,
x="sepal_width",
y="sepal_length",
color="species",
title="Scatter interactivo con Plotly Express"
)
fig.show()
En px, cada argumento suele mapear a una columna del DataFrame .
Es el nivel bajo. Permite construir grΓ‘ficos como si estuviΓ©ramos βensamblando piezasβ.
Figure β contenedor del grΓ‘ficoTrace β cada serie de datosLayout β configuraciΓ³n visualimport plotly.graph_objects as go
fig = go.Figure()
fig.add_trace(go.Scatter(
x=[1,2,3],
y=[4,1,2],
mode="lines",
name="Serie 1"
))
fig.update_layout(title="Ejemplo con Graph Objects")
fig.show()
Un grΓ‘fico Plotly se compone de:
Figure
βββ Data (Traces)
β βββ Scatter
β βββ Bar
β βββ Box
βββ Layout
βββ title
βββ xaxis
βββ yaxis
βββ template
Esto significa que todo grΓ‘fico es un objeto modificable dinΓ‘micamente .
Podemos actualizar cualquier parte:
fig.update_traces(marker_color="red")
fig.update_layout(template="plotly_white")
px.line()
px.bar()
px.scatter()
px.box()
px.violin()
px.histogram()
px.scatter(df, x="x", y="y", hover_data=["col_extra"])
Se activan sin cΓ³digo adicional.
fig.update_layout(
updatemenus=[...]
)
fig.write_html("grafico_interactivo.html")
| CaracterΓstica | Matplotlib | Seaborn | Plotly |
|---|---|---|---|
| Interactividad | β | β | β |
| Estilo automΓ‘tico | β οΈ | β | β |
| Facilidad EDA | β οΈ | β | β |
| Dashboards | β | β | β |
| ExportaciΓ³n HTML | β | β | β |
Plotly no sustituye completamente a Matplotlib, pero sΓ es superior cuando el objetivo es exploraciΓ³n interactiva y comunicaciΓ³n visual moderna .
plotly.express para anΓ‘lisis exploratorio.graph_objects cuando necesitemos:template="plotly_white"
px es rΓ‘pido y declarativogo es estructural y detallado