当你有情节时,平移功能非常好。然而,平移可能会偏离实际绘制的内容很远。有没有一种方法可以限制绘图,以便与绘图交互的用户碰到他们无法平移的墙壁?
我也在plotly论坛这里问过。
是的,有几种方法可以限制 Plotly 中的绘图,以便与绘图交互的用户碰壁,他们无法平移超出预定值
基本上,您需要设置坐标区的范围属性。这将指定可以在轴上显示的最小值和最大值。
例如,要将x轴的范围设置为0到100,您可以使用以下代码:
fig.update_layout(xaxis_range=[0, 100])
将轴的约束属性设置为domain。这将防止轴缩放或平移超出绘图域。例如,要将 x 轴限制在绘图域内,您可以使用以下代码:
fig.update_layout(xaxis_constrain='domain')
将坐标区的自动调整范围属性设置为 false。这将阻止 Plotly 根据数据自动调整轴的范围。例如,要防止 y 轴自动调整其范围,您可以使用以下代码:
fig.update_layout(yaxis_autorange=False)
使用 updatemenus 功能创建一个菜单,允许用户选择轴的预定义范围。这可能是一种有用的方法,允许用户快速放大或缩小绘图的特定区域。以下是如何使用 updatemenus 功能来约束绘图的示例:
fig.update_layout(
updatemenus=[
dict(
buttons=list(
[
dict(
args=['xaxis_range', [-1, 1]],
label='Zoom to [-1, 1]',
),
dict(
args=['xaxis_range', [-5, 5]],
label='Zoom to [-5, 5]',
),
dict(
args=['xaxis_range', 'reset'],
label='Reset',
),
]
),
direction='down',
pad={'r': 10, 't': 10},
showactive=True,
type='buttons',
x=0.0,
xanchor='left',
y=1.0,
yanchor='top',
)
]
)
这将创建一个下拉菜单,允许用户为 x 轴选择预定义的范围。用户还可以单击“重置”按钮将范围重置为默认值。