R Plotly 约束平移

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

当你有情节时,平移功能非常好。然而,平移可能会偏离实际绘制的内容很远。有没有一种方法可以限制绘图,以便与绘图交互的用户碰到他们无法平移的墙壁?

我也在plotly论坛这里问过。

r plotly pan
1个回答
0
投票

是的,有几种方法可以限制 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 轴选择预定义的范围。用户还可以单击“重置”按钮将范围重置为默认值。

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