我有以下数据:
我正在尝试绘制 x=long, y=short, z=balance
我是这样做的:
fig.add(go.Scatter3d(x=results['long'], y=results['short'], z=results['balance']))
Run Code Online (Sandbox Code Playgroud)
我得到了类似的东西:
我真正要找的是一个表面,就像这个例子:
所以,按照示例的代码,我做了:
fig.add_surface(x=results['long'], y=results['short'], z=results['balance'], row=2, col=1)
Run Code Online (Sandbox Code Playgroud)
但:
它不仅不显示任何数据,而且似乎完全忽略了子图布局并绘制了所有内容。
这是完整的代码:
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()
Run Code Online (Sandbox Code Playgroud)
所以,我的问题是:
Dmi*_*sil -2
尝试文档中的 3D 曲面图(此处)。下面提供了一个例子。我认为,你可以改变z_data- 这就是你所需要的:
import plotly.graph_objects as go
import pandas as pd
# Read data from a csv
z_data = pd.read_csv('https://raw.githubusercontent.com/plotly/datasets/master/api_docs/mt_bruno_elevation.csv')
fig = go.Figure(data=[go.Surface(z=z_data.values)])
fig.update_layout(title='Mt Bruno Elevation', autosize=False,
width=500, height=500,
margin=dict(l=65, r=50, b=65, t=90))
fig.show()
Run Code Online (Sandbox Code Playgroud)