Ho una dati a tre colonne (x-pixel, y-pixel, il valore z) con un milione di linee. I dati provengono da un'immagine e ci sono valori z duplicati. Ora ho bisogno di fare una trama di superficie. This image è un esempio perfetto. Ma ora l'immagine di output è nullo. Qualcuno potrebbe controllare il codice, per favore?Come utilizzare gridData da scipy.interpolate
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()
perché '0: 3000: 3000j'? non dovrebbe essere '0: 3000: 1' – pseudoDust
' 0: 3000: 1' è altrettanto priva di senso. Forse '0: 3000'? – horchler
I due modi sono gli stessi. Ognuno di essi rende zi nullo. – questionhang