Este team redactor ha pasado mucho tiempo investigando para dar respuesta a tu duda, te ofrecemos la solución de modo que nuestro deseo es resultarte de gran ayuda.
Solución:
No es posible obtener el rango del eje de un gráfico plotly dentro de la implementación de python. Solo puede recuperar el rango si especifica el rango del eje en su diseño (pero entonces realmente no lo necesita).
Así que si lo intentas print(fig.layout.xaxis.range)
conseguirás None
.
Si necesita los límites, deberá crear los suyos propios y aplicarlos al diseño:
- obtener el mínimo y el máximo de los valores de x:
xmin
,xmax
- rellena estos valores con algún factor:
xlim = [xmin*.95, xmax*1.05]
- actualizar el diseño:
fig.update_layout(xaxis=dict(range=[xlim[0],xlim[1]]))
Ahora si lo intentas print(fig.layout.xaxis.range)
obtendrá el rango del eje.
Esto me estaba molestando mucho, así que tuve que profundizar más, el crédito va a @Emmanuelle en los foros de plotly por confirmar esta realidad.
ACTUALIZACIÓN 20210129: Plotly ha agregado el método .full_figure_for_development().
El método .full_figure_for_development() brinda acceso a nivel de Python a los valores predeterminados calculados por Plotly.js. Este método requiere el paquete Kaleido, que es fácil de instalar y también se usa para static
exportación de imagen
Así que ahora puedes:
full_fig = fig.full_figure_for_development()
print(full_fig.layout.xaxis.range)