如何更新第二个绘图轴 plotly Scatter3D subplots

Posted

技术标签:

【中文标题】如何更新第二个绘图轴 plotly Scatter3D subplots【英文标题】:How update 2nd plots axis plotly Scatter3D subplots 【发布时间】:2021-06-27 08:01:36 【问题描述】:

祝你有美好的一天,

我正在尝试使用 plotlies 的 Scatter3d 绘制复杂系列的虚数和实数部分。 X 是实部,Y 是虚部,z 是时间。

但是我有两个系列,我想并排显示两个生成的散点图以进行比较。为此,我使用了 makesubplot 函数。

现在我想用相应的名称标记每个轴(见上文)。 但我只能更新第一个子图,不能更新第二个。

这是我的源代码,它只更新第 1 行第 1 列的第一个子图:

d_E1 = go.Scatter3d(
    x=df['Real_E1'],
    y=df['Im_E1'],
    z=df['Time'],
    )
d_E2 = go.Scatter3d(
    x=df['Real_E2'],
    y=df['Im_E2'],
    z=df['Time'],
    )

fig                 = make_subplots(   
                                    rows    = 1,  
                                    cols    = 2,
                                   specs    = [["type": "scene", "type": "scene"]],                                          
                                    )

fig.update_layout(scene = dict(
                  xaxis = dict( title='X AXIS TITLE'),
                  yaxis = dict( title='y AXIS TITLE'),
                  zaxis = dict( title='Z AXIS TITLE')
                ))
 
fig.add_trace(d_E1, row=1, col=1)
fig.add_trace(d_E2, row=1, col=2)
plotly.offline.plot(fig, filename='3d.html')

the result of the code from above

我尝试如下更改 fig.update_layout,当然没有用:

1 这更新了 go.Scatter 图。我可以运行代码,但它没有任何改变。

fig.update_xaxes(title_text="X AXIS TITLE", row=1, col=1)
fig.update_xaxes(title_text="X AXIS TITLE", row=1, col=2)

2 在 *** 上我发现了这个:

fig['layout']['xaxis']['title']='Label x-axis 1'
fig['layout']['xaxis2']['title']='Label x-axis 2'
fig['layout']['yaxis']['title']='Label y-axis 1'
fig['layout']['yaxis2']['title']='Label y-axis 2'

错误是,xaxis2 是 xaxis2 未在此上下文中定义!? the errormessage

3 在同一个网站上是一个带有 for 循环的解决方案,我可以运行代码,但它没有任何改变...... Plotly: How to add axis layouts into a subplot?

4 然后我尝试了这个,我的编译器说他不知道 xaxis2:

fig.update_layout(scene = dict(
xaxis = dict( title='X AXIS TITLE'),
xaxis2 = dict( title='X AXIS TITLE'),
yaxis = dict( title='y AXIS TITLE'),
zaxis = dict( title='Z AXIS TITLE')))

我使用的是plotly 4.14.3 版

【问题讨论】:

后半段对不起,我无法让***的文本编辑器识别代码es代码。它也没有工作。 【参考方案1】:

我刚刚找到它:

https://github.com/plotly/plotly.py/issues/2483

fig.update_scenes(
                      xaxis = dict( title_text='x-title'),
                      yaxis = dict( title_text='y-title'),
                      zaxis = dict( title_text='z-title'),
                )

【讨论】:

以上是关于如何更新第二个绘图轴 plotly Scatter3D subplots的主要内容,如果未能解决你的问题,请参考以下文章

如何使用场景向 scatter3D Plotly 绘图添加注释?

Perl 版Circos -绘图篇-scatter plot绘图

plot绘图

Plotly Express中的Scatter 3d - Colab Notebook没有用等轴绘制。

Plotly:次要 y 轴导致右侧空白

如何在 plotly 中绘制 y 轴刻度之间的水平线?