Temas y layout en plotly

Los templates de plotly definen el aspecto por defecto de los gráficos: el fondo, el grid, las fuentes y los colores. Además del template, update_layout permite cambiar los colores de fondo, las fuentes, el tamaño y los márgenes de cada figura.

Templates

Elige un template con el argumento template. Los templates incluidos son "plotly" (por defecto), "plotly_white", "plotly_dark", "ggplot2", "seaborn", "simple_white", "presentation" y "none".

import plotly.express as px

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

fig = px.scatter(df, x = "gdpPercap", y = "lifeExp", color = "continent",
                 template = "plotly_white")

fig.show()

Tema oscuro

import plotly.express as px

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

fig = px.scatter(df, x = "gdpPercap", y = "lifeExp", color = "continent",
                 template = "plotly_dark")

fig.show()

Template por defecto

Para usar el mismo template en todos los gráficos establécelo por defecto con plotly.io.

import plotly.io as pio

pio.templates.default = "simple_white"

Color de fondo

plot_bgcolor cambia el color del área del gráfico y paper_bgcolor el color del resto de la figura.

import plotly.express as px

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

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

fig.update_layout(plot_bgcolor = "white",
                  paper_bgcolor = "aliceblue")
fig.update_xaxes(gridcolor = "lightgray")
fig.update_yaxes(gridcolor = "lightgray")

fig.show()

Fuente global

La propiedad font del layout establece la fuente por defecto de todos los textos de la figura.

import plotly.express as px

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

fig = px.scatter(df, x = "gdpPercap", y = "lifeExp", title = "Esperanza de vida")

fig.update_layout(font = dict(family = "Courier New", size = 14, color = "darkslategray"))

fig.show()

Tamaño de la figura y márgenes

Los gráficos de plotly se adaptan al ancho del contenedor. Establece un tamaño fijo en píxeles con width y height y reduce el espacio en blanco alrededor del gráfico con margin.

import plotly.express as px

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

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

fig.update_layout(width = 800, height = 500,
                  margin = dict(l = 20, r = 20, t = 40, b = 20))

fig.show()

Consulta también las escalas de color de plotly para cambiar los colores de los datos y cómo exportar gráficos de plotly para guardarlos con un tamaño concreto.

Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon
Fundamentals of Data Visualization

A Primer on Making Informative and Compelling Figures

Comprar en Amazon

También te puede interesar