Plotly。在jupyter笔记本中以编程方式平移3D图形。

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

我不知道如何使用代码来平移我的Plotly图像。

我运行了以下代码

# Creating the plot

import plotly.graph_objects as go

surface = go.Surface(x=AddOnMesh, y=CMesh, z=Matrix)
data = [surface]

layout = go.Layout(
    title='Depiction of the SA-CCR multiplier function',
    scene=dict(
        xaxis=dict(
            gridcolor='rgb(255, 255, 255)',
            zerolinecolor='rgb(255, 255, 255)',
            showbackground=True,
            backgroundcolor='rgb(230, 230,230)',
            autorange='reversed'

        ),
        yaxis=dict(
            gridcolor='rgb(255, 255, 255)',
            zerolinecolor='rgb(255, 255, 255)',
            showbackground=True,
            backgroundcolor='rgb(230, 230,230)'
        ),
        zaxis=dict(
            gridcolor='rgb(255, 255, 255)',
            zerolinecolor='rgb(255, 255, 255)',
            showbackground=True,
            backgroundcolor='rgb(230, 230,230)'
        ),
        xaxis_title = 'AddOn / V',
        yaxis_title = 'C / V',
        zaxis_title = 'Multiplier',
    )
)

fig = go.Figure(data=data, layout=layout)
fig.show()

这就产生了下面的图像。

enter image description here

如你所见,底部被切断了。通过手动将它稍微向上平移,我可以让它看起来像这样。

enter image description here

我怎样才能用代码达到同样的效果呢? 比如说,改变我使用的Layout。手动调整是不可能的,因为我直接将图像用 fig.to_image() 在下一步。

plotly jupyter
1个回答
2
投票

你可以自由改变 摄像机位置 通过编辑eye参数进入。

camera = dict(eye=dict(x=2, y=2, z=0.1))

fig.update_layout(scene_camera=camera)

你可以通过将z设置为一个较小的值来降低视点。下图比较了 z=1.5z=0.1.

enter image description here

enter image description here

我希望你的数据集能够顺利完成。如果不是,那么请提供你的数据样本,我再看看。


1
投票

在我的案例中, center 参数的 3D摄像机控制 产生了我想要的东西。

camera = dict(
    center=dict(x=0, y=0, z=-0.1)
    )
fig = go.Figure(data=data, layout=layout)
fig.update_layout(scene_camera=camera)
fig.show()
© www.soinside.com 2019 - 2024. All rights reserved.