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.
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()
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()
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()
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()
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.
También te puede interesar