Las funciones de Plotly Express tienen el argumento title para agregar un título directamente al crear el gráfico. Para una mayor personalización utiliza fig.update_layout, que da acceso a la posición, la fuente y otras propiedades del título.
Pasa el texto al argumento title de cualquier función de Plotly Express.
import plotly.express as px
df = px.data.medals_long()
fig = px.bar(df, x = "nation", y = "count", color = "medal",
title = "Medallas olímpicas por país")
fig.show()
Por defecto el título se alinea a la izquierda. Utiliza title_x (entre 0 y 1) para cambiar su posición horizontal, por ejemplo 0.5 para centrarlo, y title_y para la posición vertical.
import plotly.express as px
df = px.data.medals_long()
fig = px.bar(df, x = "nation", y = "count", color = "medal",
title = "Medallas olímpicas por país")
fig.update_layout(title_x = 0.5)
fig.show()
Personaliza el texto con title_font_size, title_font_color y title_font_family. Las mismas propiedades se pueden establecer con un diccionario: title = dict(text = ..., font = dict(...)).
import plotly.express as px
df = px.data.medals_long()
fig = px.bar(df, x = "nation", y = "count", color = "medal",
title = "Medallas olímpicas por país")
fig.update_layout(title_font_size = 26,
title_font_color = "darkblue",
title_font_family = "Georgia", title_x = 0.5)
fig.show()
Negrita y etiquetas HTML
Los títulos de plotly admiten algunas etiquetas HTML, como <b> (negrita), <i> (cursiva) o <br> (salto de línea).
import plotly.express as px
df = px.data.medals_long()
fig = px.bar(df, x = "nation", y = "count", color = "medal",
title = "<b>Medallas olímpicas</b><br>por país")
fig.show()
Desde plotly 5.24 el título tiene la propiedad subtitle, que se muestra debajo del título principal con una fuente más pequeña.
import plotly.express as px
df = px.data.medals_long()
fig = px.bar(df, x = "nation", y = "count", color = "medal")
fig.update_layout(title = dict(text = "Medallas olímpicas por país",
subtitle = dict(text = "Juegos Olímpicos de invierno")))
fig.show()
Plotly Express utiliza los nombres de las columnas como títulos de los ejes. Cámbialos con el argumento labels, que asigna un nuevo nombre a cada columna, o con update_xaxes y update_yaxes.
import plotly.express as px
df = px.data.medals_long()
fig = px.bar(df, x = "nation", y = "count", color = "medal",
labels = {"nation": "País",
"count": "Número de medallas"})
fig.show()
El argumento labels también cambia el nombre de las variables en la leyenda y en las etiquetas emergentes. Aprende más sobre los ejes en el tutorial sobre la personalización de los ejes en plotly.
También te puede interesar