python怎么画⾼程三维⽹格图_从X、Y、Z坐标d创建三维曲⾯
⽹格
我在⼀个.dat⽂件中有⼀个⾮常⼤的数据集(⼤约500万⾏)X,Y,Z坐标数据。我可以将其作为三维散点图导⼊,但希望在点之间的三维曲⾯⽹格处进⾏插值。我已经看过⼀些例⼦,包括this,但是如果没有⼀个⽆效的索引错误,就⽆法让它⼯作。
以下是我所拥有的:from pylab import *
import numpy as np
from mpl_toolkits.mplot3d import Axes3D
from matplotlib import cm
import matplotlib.pyplot as plt
from matplotlib.mlab import griddata
x, y, z = loadtxt('test.dat', unpack = True)
fig = plt.figure()
ax = fig.add_subplot(111, projection='3d')
xs = x
ys = y
zs = z
fig = plt.figure()
ax = a(projection='3d')
xi = np.linspace(min(xs), max(xs))
yi = np.linspace(min(ys), max(ys))
X, Y = np.meshgrid(xi, yi)
Z = griddata(xs, ys, zs, xi, yi)
surf = ax.plot_surface(X, Y, Z, rstride=5, cstride=5, cmap=cm.jet,
linewidth=1, antialiased=True)
ax.set_zlim3d(np.min(Z), np.max(Z))
plt.show()
这⾥是我得到的错误:python test2.py
python怎么读取桌面上的文件
Traceback (most recent call last):
File "test2.py", line 25, in
Z = griddata(xs, ys, zs, xi, yi)
File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-packages/matplotlib/mlab.py", line 2768, in griddata
tri = delaunay.Triangulation(x,y)
File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-
packages/matplotlib/delaunay/triangulate.py", line 90, in __init__
self.hull = self._compute_convex_hull()
File "/Library/Frameworks/Python.framework/Versions/7.3/lib/python2.7/site-
packages/matplotlib/delaunay/triangulate.py", line 115, in _compute_convex_hull
edges.update(dict(iangle_nodes[border[:,0]][:,1],
IndexError: invalid index
我对python很陌⽣,⽆法理解这⼀点。有什么想法吗?谢谢!
以下是我⽤作测试的数据集的⼀部分:x = [-0.91392505 -0.89382458 -0.87372404 -0.85362357 -0.83352304 -0.81342256
-0.79332203 -0.77322155 -0.75312102 -0.73302054 -0.71292001 -0.69281954
-0.672719 -0.65261853 -0.63251805 -0.61241752 -0.59231698 -0.57221651
-0.55211604 -0.5320155 ]
y = [ 111.25222 111.25222 111.25222 111.25222 111.25222 111.25222
111.25222 111.25222 111.25222 111.25222 111.25222 111.25222
111.25222 111.25222 111.25222 111.25222 111.25222 111.25222
111.25222 111.25222]
z = [ 1.42150589e-06 7.77236906e-08 3.33243515e-05 1.70491203e-05
6.01433214e-08 9.20339880e-06 4.21266122e-06 3.39080143e-04
1.37568408e-04 7.34613104e-06 1.07246015e-05 3.39363214e-06
1.09533859e-04 6.55860058e-05
2.83635192e-04 1.87549119e-06
9.96281233e-06 2.78222607e-04 2.88286283e-05 4.60408737e-05]

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。