2012-07-26 26 views
2

我使用code來使用griddata可視化我的數據。代碼如下所示:Griddata創建不良形狀scipy

import math 
import numpy as np 
from scipy.interpolate import griddata 
import matplotlib.pyplot as plt 


**THE LIST C=DATA IS IN THE LINK ABOVE** 

cx=np.asarray([row[0] for row in C]) 
cy=np.asarray([row[1] for row in C]) 
cz=np.asarray([row[2] for row in C]) 

xi = np.linspace(22.4,22.5,10) 
yi = np.linspace(37,37.1,10) 
# grid the data. 
zi = griddata((cx, cy), cz, (xi[None,:], yi[:,None]), method='nearest') 

plt.contourf(xi,yi,zi,300,cmap=plt.cm.jet) 
# draw colorbar 
plt.colorbar() 

plt.xlim(xmin=22.4,xmax=22.5) 
plt.ylim(ymin=37,ymax=37.1) 
plt.title('no diamonds please') 
plt.show() 

正如你可以看到有顯示here

一些菱形形狀,這實際上應該是像高斯例如像輪廓難道我做錯了什麼?我應該使用其他工具而不是griddata嗎?我有問題使用sagemath這個,現在切換到「」純「python。Noob level記住:)

回答

1

愚蠢的是,它的答案只是增加linspace中的」stepsize「的值,例如:

xi = np.linspace(22.4,22.5,100) 
+0

當我嘗試這樣做,我感到有點兒不同顏色的形狀類似的「磚」,而不是3個高斯拱。 – Dave 2012-07-27 16:20:10

+0

這是在工作中'nearest'方法---不平滑。 – 2012-07-30 21:19:44