在Plotly中设置y轴的范围

问题描述 投票:0回答:2

我用 Plotly 做了一个线图。如何设置 Y 轴的范围使其始终位于 [0; 10]?

layout = go.Layout(
    title=go.layout.Title(text="Test", xref="paper", x=0),
    xaxis=go.layout.XAxis(
        tickmode="linear",
        tickfont=dict(size=10),
        title=go.layout.xaxis.Title(font=dict(size=14, color="#7f7f7f")),
    ),
    yaxis=go.layout.YAxis(
        title=go.layout.yaxis.Title(text=y, font=dict(size=14, color="#7f7f7f")),
    ),
)

data = [go.Scatter(x=x1, y=y1)]
python plotly plotly-python
2个回答
129
投票

更新新版本

设置图形时,您可以使用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])

图:

完整代码:

# 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()

使用
plotly.offline
iplot
的原始答案,没有神奇的下划线符号:

设置图形时,使用:

layout = go.Layout(yaxis=dict(range=[fromValue, toValue])

或者,如果您已经有一个名为

fig
的人物,您可以使用:

fig.update_layout(yaxis=dict(range=[fromValue,toValue]))

剧情:

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)

一些重要细节:

通过此设置,您可以轻松添加 y 轴标题,如下所示:

# layout
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') 添加另一个元素是最简单的。只要你做对了,你就不会遇到上面评论中的情况:


谢谢。我尝试过这个。但是我在 yaxis 中有 2 个定义 布局: yaxis=dict(range=[0, 10]) 和 yaxis=go.layout.YAxis。所以 出现错误。

看看这个:

剧情:

带有 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)



3
投票
yaxis

中传递一个字典。可能是这样的

go.Layout(yaxis=dict(range=[0, 10]))
我希望这对你有帮助。
    

© www.soinside.com 2019 - 2024. All rights reserved.