πŸ“Š IntroducciΓ³n a Plotly

VisualizaciΓ³n interactiva para anΓ‘lisis de datos

QuΓ© es Plotly, cΓ³mo estΓ‘ estructurada y cΓ³mo utilizarla

Image
Image

1️⃣ ΒΏQuΓ© es Plotly?

Image
Image

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.

2️⃣ FilosofΓ­a de diseΓ±o

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
Image
Image

3️⃣ Plotly Express (px)

Es la forma mΓ‘s sencilla y productiva de trabajar.

CaracterΓ­sticas clave

Ejemplo conceptual

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

Idea importante

En px, cada argumento suele mapear a una columna del DataFrame .

4️⃣ Graph Objects (go)

Es el nivel bajo. Permite construir grΓ‘ficos como si estuviΓ©ramos β€œensamblando piezas”.

Conceptos clave

Ejemplo conceptual

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

CuΓ‘ndo usarlo

5️⃣ La estructura interna de una figura

Image
Image

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

6️⃣ Tipos de grΓ‘ficos mΓ‘s usados en anΓ‘lisis de datos

Image
Image

πŸ“ˆ Series temporales

px.line()

πŸ“Š Barras

px.bar()

πŸ”΅ DispersiΓ³n

px.scatter()

πŸ“¦ Distribuciones

px.box()
px.violin()
px.histogram()

7️⃣ Interactividad (el verdadero valor de Plotly)

Hover personalizado

px.scatter(df, x="x", y="y", hover_data=["col_extra"])

Zoom y selecciΓ³n automΓ‘tica

Se activan sin cΓ³digo adicional.

Dropdowns y botones

fig.update_layout(
    updatemenus=[...]
)

Exportar a HTML

fig.write_html("grafico_interactivo.html")

8️⃣ ComparaciΓ³n con Matplotlib y Seaborn

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 .

9️⃣ Buenas prΓ‘cticas en el curso

  1. Usar plotly.express para anΓ‘lisis exploratorio.
  2. Pasar a graph_objects cuando necesitemos:
  3. Subplots
  4. Mezcla de tipos
  5. Interacciones avanzadas
  6. Mantener consistencia visual con:
    template="plotly_white"
    

πŸ”Ÿ Ideas clave