我正在尝试使用浮点数数组创建3D表面图。我尝试了提供的答案,但没有成功。
我的代码:
ydata xdata zdata
0 667.029710 38.666953 2156.370026
1 673.518030 38.578639 2167.733673
2 928.285970 39.558060 2984.315454
3 947.973966 39.329530 3065.414025
4 904.826638 40.241960 3071.355114
5 901.673720 40.259228 2947.752668
6 910.980404 41.478425 2906.467214
7 916.008852 41.813555 2933.900440
8 913.971114 41.583315 2955.543549
9 933.040692 42.577816 2979.264288
import plotly.graph_objects as go
import plotly.graph_objs
import pandas as pd
import numpy as np
xdata = df['xdata'].values
ydata = df['ydata'].values
zdata = df['zdata'].values
plotly.offline.plot({"data":[go.Surface(z=zdata, x=xdata, y=ydata)],
"layout":plotly.graph_objs.Layout(title='Some data', autosize=False,
width=500, height=500,
margin=dict(l=65, r=50, b=65, t=90))})
代码没有输出结果。我可以看到三维图表,但没有任何数据。
zdata
转化为所提到的答案中的表面吗? - Mainlandgo.Surface(z = [zdata]*10, x = xdata, y = ydata)
,它应该可以工作(如果我正确记得代码的话,我已经尝试过并且确实可以工作)。虽然与2D线图类似,我认为Surface图表示变量之间的某种关系。 - dm2z=[zdata.tolist()]*len(xdata)
,这样对吗? - Mainland