我有以下数据:
我想绘制x=long,y=short,z=balance
我已按如下方式进行:
fig.add(go.Scatter3d(x=results['long'], y=results['short'], z=results['balance']))
我得到了这样的结果:
我真正想要的是一个类似这个例子的表面:
所以,按照这个例子的代码,我做了以下操作:
fig.add_surface(x=results['long'], y=results['short'], z=results['balance'], row=2, col=1)
但是:
它不仅没有显示任何数据,似乎还完全忽略了子图布局并覆盖了所有内容。
以下是完整的代码:
fig = make_subplots(rows=2, cols=1, specs=[[{'type': 'xy'}], [{'type': 'scene'}]])
fig.add_trace(go.Scatter(x=series1['timestamp'], y=series1['data'], line_color='red', name='series 1'), row=1, col=1)
fig.add_trace(go.Scatter(x=series2['timestamp'], y=series2['data'], line_color='blue', name='series 2'), row=1, col=1)
fig.update_yaxes(title_text="USD", row=1, col=1)
fig.add_surface(x=results['long'], y=results['short'], z=results['balance'], row=2, col=1)
fig.show()
因此,我的问题是:
- 我如何从我拥有的数据中创建一个平滑的表面?
- 关于布局,我错过了什么?