首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >绘制3D数据的困难,plot_wireframe python matplotlib

绘制3D数据的困难,plot_wireframe python matplotlib
EN

Stack Overflow用户
提问于 2021-01-15 19:58:25
回答 1查看 80关注 0票数 0

我在使用线框绘制3d数据时遇到了困难,请帮助我。它可以在plot3D中工作,但不能在线框中工作。

这里给出了Python代码。

代码语言:javascript
复制
from mpl_toolkits import mplot3d
import numpy as np
import matplotlib.pyplot as plt
import csv


file="xyz.dat"
x=[]
y=[]
z=[]

with open(file,'r') as csvfile:
    data = csv.reader(csvfile, delimiter=' ')
    for row in data:
        if(row):
            x.append(row[0])
            y.append(row[1])
            z.append(row[2])

x = map(float,x)
y = map(float,y)
z = map(float,z)

fig = plt.figure()
ax = plt.axes(projection ='3d')


#ax.plot3D(x, y, z, color = 'green') 
ax.plot_wireframe(x, y, z, color = 'green')

plt.show()

数据文件

0 0 0

0 1 0

0 2 0

1 0 10

1 1 10

1 2 10

2 0 10

2 1 10

2 2 10

3 0 10

3 1 10

3 2 10

4 0 50

4 1 50

4 2 50

6 0 50

6 1 50

6 2 50

7 0 90

7 1 90

7 2 90

9 0 90

9 1 90

9 2 90

结束数据文件

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-19 19:23:26

是的,我知道了。

代码语言:javascript
复制
from mpl_toolkits import mplot3d
import matplotlib.pyplot as plt
import numpy as np
from scipy.interpolate import griddata
import csv


file="xyz.txt"
x=[]
y=[]
z=[]

with open(file,'r') as csvfile:
    data = csv.reader(csvfile, delimiter=' ')
    for row in data:
        if(row):
            x.append(row[0])
            y.append(row[1])
            z.append(row[2])

x = map(float,x)
y = map(float,y)
z = map(float,z)

X,Y = np.meshgrid(x,y)
Z = griddata((x,y),z,(X,Y),method='linear')

fig = plt.figure()
ax = plt.axes(projection ='3d')

ax.plot_wireframe(X, Y, Z, color = 'green')

plt.show()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65735706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档