que*_*ang 6 python interpolation numpy scipy mayavi
我有一个三列(x像素,y像素,z值)数据,有一百万行.数据来自图像,并且存在重复的z值.现在我需要制作表面图.这个图像是一个很好的例子.但现在输出图像为空.有人可以查一下代码吗?
import numpy as np
from enthought.mayavi import mlab
from scipy.interpolate import griddata
x,y,z = np.loadtxt('test.csv',delimiter=',',usecols=(0,1,2),unpack=True)
xi,yi = np.mgrid[0:3000:3000j, 0:3000:3000j]
zi = griddata((x, y), z, (xi, yi),method='linear')
mlab.surf(xi,yi,zi)
mlab.show()
Run Code Online (Sandbox Code Playgroud)
如果没有数据,我无法检查代码,但我怀疑问题是您使用默认值fill_value=nan作为griddata参数,因此如果您的网格点超出了 (x,y) 点的空间,那么是网格中的 NaN,mlab 可能无法处理(matplotlib 不容易处理)。尝试设置fill_value=0或其他合适的实数。
| 归档时间: |
|
| 查看次数: |
12938 次 |
| 最近记录: |