更新至较新版本
设置图表时,您可以使用Plotly的魔法下划线记法,并像这样指定layout_yaxis_range=[<from_value>, <to_value>]
:
fig = go.Figure(data=go.Scatter(x=x, y=y, mode='lines'), layout_yaxis_range=[-4,4])
如果您已经有一个名为fig
的图形,您可以使用以下方法:
fig.update_layout(yaxis_range=[-4,4])
并且:
fig.update(layout_yaxis_range = [-4,4])
或者:
fig.update_yaxes(range = [-4,4])
图例:
![输入图片说明](https://istack.dev59.com/KKyuq.webp)
完整代码:
import pandas as pd
import plotly.graph_objs as go
import numpy as np
np.random.seed(4)
x = np.linspace(0, 1, 50)
y = np.cumsum(np.random.randn(50))
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()
使用plotly.offline
和iplot
创建图形:
layout = go.Layout(yaxis=dict(range=[fromValue, toValue])
如果您已经有了一个名为fig
的图形对象,您可以使用以下代码:
fig.update_layout(yaxis=dict(range=[fromValue,toValue]))
情节:
![enter image description here](https://istack.dev59.com/5PA2J.webp)
Jupyter Notebook完整代码:
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
init_notebook_mode(connected=True)
np.random.seed(4)
x = np.linspace(0, 1, 50)
y = np.cumsum(np.random.randn(50))
trace = go.Scatter(
x=x,
y=y,
)
layout = go.Layout(yaxis=dict(range=[-4,4])
)
fig = go.Figure(data=[trace], layout=layout)
iplot(fig)
一些重要细节:
使用此设置,您可以轻松添加一个 y 轴标题,如下所示:
layout = go.Layout(yaxis=dict(range=[-4,4]), title='y Axis')
)
如果您想进一步格式化标题,则可能会更加棘手。我发现最简单的方法是添加另一个带有title = go.layout.yaxis.Title(text='y Axis', font=dict(size=14, color='#7f7f7f')
的元素。只要按照正确的方式进行操作,您就不应该遇到您上面评论中提到的情况:
谢谢。我试过了。但是在布局中有2个yaxis的定义:yaxis = dict(range = [0, 10]) 和 yaxis = go.layout.YAxis。因此会出现错误。
绘图:
![enter image description here](https://istack.dev59.com/VedHj.webp)
具有y轴文本格式的完整代码:
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
init_notebook_mode(connected=True)
np.random.seed(4)
x = np.linspace(0, 1, 50)
y = np.cumsum(np.random.randn(50))
trace = go.Scatter(
x=x,
y=y,
)
layout = go.Layout(
yaxis=dict(range=[-4,4],
title = go.layout.yaxis.Title(text='y Axis', font=dict(size=14, color='#7f7f7f')))
)
fig = go.Figure(data=[trace], layout=layout)
iplot(fig)
fig.update_layout(yaxis_range=[fromValue, toValue])
。 - Daniel Himmelstein