在 Plotly 中使用三个 1D 浮点数组创建 3D 曲面图

Mai*_*and 5 python matplotlib plotly

我正在尝试使用浮点数组创建 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))})
Run Code Online (Sandbox Code Playgroud)

它不产生输出。我看到了 3d 图,但没有任何数据。

r-b*_*ers 3

如果数据在一维中指定,则不会显示,因为它不会配置 3D 信息。如果您指定整个数据框(如代码中所示),它将显示出来。官方参考

import pandas as pd
import numpy as np
import io

data = '''
 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 
'''

df = pd.read_csv(io.StringIO(data), sep='\s+')

import plotly.graph_objects as go
import plotly.graph_objs

# xdata = df['xdata'].values
# ydata = df['ydata'].values
# zdata = df['zdata'].values

plotly.offline.plot({"data":[go.Surface(z=df.values)],
"layout":plotly.graph_objs.Layout(title='Some data', autosize=False,
                  width=500, height=500,
                  margin=dict(l=65, r=50, b=65, t=90))})
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述