Etiquetas emergentes (hover) en plotly

Las etiquetas emergentes (también conocidas como tooltips o hover labels) son los cuadros que aparecen al pasar el ratón por encima de los datos de un gráfico de plotly. Pasa el cursor por los gráficos de este tutorial para ver el efecto de cada personalización.

Agregar o eliminar datos con hover_data y hover_name

hover_name muestra una columna en negrita en la parte superior de la etiqueta y hover_data agrega más columnas. Pasa un diccionario a hover_data para eliminar columnas (False) o para darles formato.

import plotly.express as px

df = px.data.gapminder().query("year == 2007")

fig = px.scatter(df, x = "gdpPercap", y = "lifeExp",
                 hover_name = "country",
                 hover_data = {"pop": ":,", "gdpPercap": ":.0f"})

fig.show()

Etiquetas personalizadas con hovertemplate

hovertemplate define el texto completo de la etiqueta. Las variables se escriben entre %{}, admiten formatos como %{y:.1f} y el contenido de <extra></extra> se muestra en un cuadro secundario (déjalo vacío para eliminarlo).

import plotly.express as px

df = px.data.gapminder().query("year == 2007")

fig = px.scatter(df, x = "gdpPercap", y = "lifeExp", hover_name = "country")

fig.update_traces(hovertemplate = "<b>%{hovertext}</b><br>" +
                                  "PIB: $%{x:,.0f}<br>" +
                                  "Esperanza de vida: %{y:.1f} años" +
                                  "<extra></extra>")

fig.show()

Modo hover

hovermode controla qué puntos muestran una etiqueta. "x unified" muestra una sola etiqueta con los valores de todas las series para el mismo valor de X, lo que es muy útil para series temporales. Otras opciones son "x", "y", "closest" (por defecto) y False.

import plotly.express as px

df = px.data.stocks()

fig = px.line(df, x = "date", y = ["GOOG", "AAPL", "AMZN"])

fig.update_layout(hovermode = "x unified")

fig.show()

Estilo de las etiquetas emergentes

Cambia el fondo, el borde y la fuente de las etiquetas con hoverlabel.

import plotly.express as px

df = px.data.gapminder().query("year == 2007")

fig = px.scatter(df, x = "gdpPercap", y = "lifeExp", hover_name = "country")

fig.update_layout(hoverlabel = dict(bgcolor = "white",
                                    font_size = 14,
                                    font_family = "Courier New"))

fig.show()

Desactivar las etiquetas emergentes

Establece hoverinfo = "skip" en las trazas para eliminar las etiquetas del gráfico, o hovermode = False en el layout.

import plotly.express as px

df = px.data.gapminder().query("year == 2007")

fig = px.scatter(df, x = "gdpPercap", y = "lifeExp")

fig.update_traces(hoverinfo = "skip", hovertemplate = None)

fig.show()

Aprende a agregar textos permanentes a los gráficos en el tutorial sobre las anotaciones en plotly.

Fundamentals of Data Visualization

A Primer on Making Informative and Compelling Figures

Comprar en Amazon
Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon

También te puede interesar