我在一个.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 = fig.gca(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, cst