簡體   English   中英

如何使用scipy.interpolate中的griddata

[英]How to use griddata from scipy.interpolate

我有一個三列(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()

我不能在沒有數據的情況下檢查代碼,但我懷疑問題是你使用默認的fill_value=nan作為griddata參數,所以如果你有網格點超出(x,y)的空間)點,網格中有NaNs,mlab可能無法處理(matplotlib不容易)。 嘗試設置fill_value=0或其他合適的實數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM