gpt4 book ai didi

Python:Plotly 3D 曲面图

转载 作者:行者123 更新时间:2023-12-03 19:06:52 25 4
gpt4 key购买 nike

我很难绘制 Plotly 3d 曲面图。我有一个 4000 行和三列的大数据框。我确实在这里提问并得到了一些答案。当我尝试它们时,代码运行需要几个小时,但我看不到任何 plotly 。我想确认我所做的是正确的。因为我是曲面图的新手。
我的代码:

import plotly.graph_objects as go
import plotly.graph_objs
import plotly
df =
index x y z
0 10.2 40.5 70.5
1 30.5 30.2 570.5
.
.
4000 100.5 201.5 470.5

df['z']= [df['z'].tolist for x in df.index]
df =
index x y z
0 10.2 40.5 [70.5,570.5,..,470.5]
1 30.5 30.2 [70.5,570.5,..,470.5]
.
.
4000 100.5 201.5 [70.5,570.5,..,470.5]

zdata = [df['z'].tolist()]*len(df)
plotly.offline.plot({"data":[go.Surface(x=df['x'].values,
y=df['y'].values,
z = df['z'].values)],
"layout":plotly.graph_objs.Layout(title='Some data', autosize=False,
width=600, height=600,
scene = dict(xaxis_title='x',
yaxis_title='y',
zaxis_title='z'),
margin=dict(l=10, r=10, b=10, t=10))})
如果有人向我澄清我为生成曲面图所做的工作是否正确,我将不胜感激?

最佳答案

这是一个简单的/脱光了一个 3D 曲面图的例子,希望能让你继续前进。
这里的关键信息是:不要把它复杂化。同样的逻辑在具有 4000 多行的 DataFrame 上应该没问题。 (当然,它会绘制约 1600 万个数据点,因此需要一些时间)。
要记住的关键点是 z必须是形状为 [x.shape[0], y.shape[0]] 的二维数组.本质上的意思是,如果 xy长度为 10,然后 z必须是以下形状:[10, 10] .
由于我没有您的完整数据集,我已经合成了数据 - 希望可以用于说明目的。此外,我一直坚持使用 numpy为简单起见,请记住 numpy 数组本质上是一个 DataFrame 列。
简单的例子:

import numpy as np
from plotly.offline import plot

n = 10
x = np.arange(n)
y = x
z = np.tile(x**2, [n, 1])

data = [{'x': x,
'y': y,
'z': z,
'type': 'surface'}]

plot({'data': data}, filename='/path/to/graph.html')
输出:
enter image description here
更有趣的事情:
n = 360
x = np.arange(n)
y = x
v = np.tile([np.sin(i*(np.pi/180)) for i in range(n)], [n, 1]).T
z = (v.T[0]*v)

data = [{'x': x,
'y': y,
'z': z,
'type': 'surface'}]

plot({'data': data}, filename='/path/to/graph.html')
您会注意到绘图逻辑是相同的。
输出:
enter image description here

关于Python:Plotly 3D 曲面图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63363696/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com