este problema se puede tratar de diferentes maneras, pero en este caso te compartimos la solución más completa para nosotros.
Solución:
Actualización para versiones más nuevas
Al configurar una figura, puede usar la notación mágica de guión bajo de plotly y especificar layout_yaxis_range=[
como esto:
fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines'), layout_yaxis_range=[-4,4])
O si ya tienes una figura llamada fig
puedes usar:
fig.update_layout(yaxis_range=[-4,4])
Figura:
Código completo:
# imports
import pandas as pd
import plotly.graph_objs as go
import numpy as np
# data
np.random.seed(4)
x = np.linspace(0, 1, 50)
y = np.cumsum(np.random.randn(50))
# plotly line chart
fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines'), layout_yaxis_range=[-4,4])
fig.update_layout(yaxis_range=[-4,4])
fig.show()
Respuesta original usando plotly.offline
, iplot
y sin notación mágica de subrayado:
Al configurar una figura, utilice:
layout = go.Layout(yaxis=dict(range=[fromValue, toValue])
O si ya tienes una figura llamada fig
puedes usar:
fig.update_layout(yaxis=dict(range=[fromValue,toValue]))
Gráfico:
Código completo para Jupyter Notebook:
# imports
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import pandas as pd
import plotly.graph_objs as go
import numpy as np
# setup
init_notebook_mode(connected=True)
# data
np.random.seed(4)
x = np.linspace(0, 1, 50)
y = np.cumsum(np.random.randn(50))
# line
trace = go.Scatter(
x=x,
y=y,
)
# layout
layout = go.Layout(yaxis=dict(range=[-4,4])
)
# Plot
fig = go.Figure(data=[trace], layout=layout)
iplot(fig)
Algunos detalles importantes:
Con esta configuración, puede agregar fácilmente un título de eje y como este:
# layout
layout = go.Layout(yaxis=dict(range=[-4,4]), title='y Axis')
)
Es un poco más complicado si desea formatear aún más ese título. Me resulta más fácil agregar otro elemento con title = go.layout.yaxis.Title(text='y Axis', font=dict(size=14, color='#7f7f7f')
. Mientras lo haga de la manera correcta, no debería experimentar la situación en su comentario anterior:
Gracias. Lo intenté. Pero luego tengo 2 definiciones de yaxis en el diseño: yaxis=dict(range=[0, 10]) y yaxis=go.layout.YAxis. Por lo tanto, aparece un error.
Mira esto:
Gráfico:
Código completo con formato de texto del eje y:
# imports
from plotly.offline import download_plotlyjs, init_notebook_mode, plot, iplot
import pandas as pd
import plotly.graph_objs as go
import numpy as np
# setup
init_notebook_mode(connected=True)
# data
np.random.seed(4)
x = np.linspace(0, 1, 50)
y = np.cumsum(np.random.randn(50))
# line
trace = go.Scatter(
x=x,
y=y,
)
# layout
layout = go.Layout(
yaxis=dict(range=[-4,4],
title = go.layout.yaxis.Title(text='y Axis', font=dict(size=14, color='#7f7f7f')))
)
# Plot
fig = go.Figure(data=[trace], layout=layout)
iplot(fig)
Ten en cuenta dar visibilidad a esta reseña si te valió la pena.