Los ejes de los gráficos de plotly se personalizan con fig.update_xaxes y fig.update_yaxes. Ambos métodos admiten los mismos argumentos y aplican los cambios a todos los ejes X o Y de la figura.
Establece los límites de un eje con range = [mínimo, máximo].
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x = "gdpPercap", y = "lifeExp")
fig.update_xaxes(range = [0, 30000])
fig.update_yaxes(range = [40, 90])
fig.show()
Utiliza type = "log" en update_xaxes o update_yaxes, o los argumentos log_x y log_y de Plotly Express. Ten en cuenta que con una escala logarítmica el rango se indica en potencias de diez.
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x = "gdpPercap", y = "lifeExp", log_x = True)
fig.show()
tickangle rota las etiquetas de los ticks, dtick establece el intervalo entre ticks y tickvals y ticktext establecen posiciones y etiquetas personalizadas.
import plotly.express as px
df = px.data.tips()
fig = px.histogram(df, x = "day", y = "total_bill")
fig.update_xaxes(tickangle = -45)
fig.show()
Ticks personalizados
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x = "gdpPercap", y = "lifeExp")
fig.update_yaxes(tickvals = [40, 60, 80],
ticktext = ["Bajo", "Medio", "Alto"])
fig.show()
tickformat utiliza la sintaxis de formato de d3: por ejemplo ",.0f" agrega separadores de miles, ".0%" muestra porcentajes y "%b %Y" da formato a fechas. tickprefix y ticksuffix agregan un texto antes o después de cada valor.
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x = "gdpPercap", y = "lifeExp")
fig.update_xaxes(tickprefix = "$", tickformat = ",.0f")
fig.show()
Ejes de fechas
En los ejes de fechas, dtick = "M3" coloca un tick cada tres meses.
import plotly.express as px
df = px.data.stocks()
fig = px.line(df, x = "date", y = "GOOG")
fig.update_xaxes(dtick = "M3", tickformat = "%b<br>%Y")
fig.show()
Muestra las líneas de los ejes con showline, oculta o personaliza el grid con showgrid y gridcolor y controla la línea del cero con zeroline.
import plotly.express as px
df = px.data.gapminder().query("year == 2007")
fig = px.scatter(df, x = "gdpPercap", y = "lifeExp", template = "simple_white")
fig.update_xaxes(showline = True, linewidth = 2, linecolor = "black", mirror = True)
fig.update_yaxes(showline = True, linewidth = 2, linecolor = "black", mirror = True,
showgrid = True, gridcolor = "lightgray")
fig.show()
autorange = "reversed" invierte un eje y visible = False lo oculta por completo.
import plotly.express as px
df = px.data.tips()
fig = px.histogram(df, y = "day", x = "total_bill")
fig.update_yaxes(autorange = "reversed")
fig.update_xaxes(visible = False)
fig.show()
Aprende a agregar un segundo eje Y en el tutorial sobre los subplots en plotly.
También te puede interesar