如何更新第二个绘图轴 plotly Scatter3D 子图
How update 2nd plots axis plotly Scatter3D subplots
祝你愉快,
我正在尝试使用 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 在 Whosebug 上我发现了这个:
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 循环的解决方案,用这个我可以 运行 代码,但它没有任何改变......
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
我刚刚找到它:
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'),
)
祝你愉快,
我正在尝试使用 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 在 Whosebug 上我发现了这个:
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 循环的解决方案,用这个我可以 运行 代码,但它没有任何改变......
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
我刚刚找到它:
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'),
)