我正在尝试绘制一个 3D 曲面,该曲面构造为适合 python 中的一些 {x,y,z} 点——理想情况下类似于 MathematicaListSurfacePlot3D
函数。到目前为止,我已经尝试过plot_surface
,plot_wireframe
但我的观点无济于事。
只有坐标区使用plot_surface
. plot_wireframe
给出了一堆 squigglys,对象的形状模糊,但不是文档中显示的好排序:
与以下结果进行比较ListSurfacePlot3D
:
这是一个最小的工作示例,使用我在此处发布的 test.csv 文件:
import csv
from matplotlib import pyplot
import pylab
from mpl_toolkits.mplot3d import Axes3D
hFile = open("test.csv", 'r')
datfile = csv.reader(hFile)
dat = []
for row in datfile:
dat.append(map(float,row))
temp = zip(*(dat))
fig = pylab.figure(figsize=pyplot.figaspect(.96))
ax = Axes3D(fig)
那么,要么
ax.plot_surface(temp[0], temp[1], temp[2])
pyplot.show()
或者
ax.plot_wireframe(temp[0], temp[1], temp[2])
pyplot.show()
这是使用plot_surface
:
和 using plot_wireframe
:
和 using呈现的方式ListSurfacePlot3D
: