2016-03-17 591 views
0

我的目標是繪製一些數據並將其與世界地圖合併。我用德勞內三角,這樣產生的數據:如何合併Python中的兩個圖?

u = np.array(lat) 
v = np.array(lon) 
x = u 
y = v 
z = np.array(iwv) 
tri = Delaunay(np.array([u,v]).T) 
plt.tricontourf(y, x, z, lev, triangles=tri.simplices) 
plt.colorbar() 
plt.show() 

我也使用mpl_toolkits使地圖:

from mpl_toolkits.basemap import Basemap 
import matplotlib.pyplot as plt 
m = Basemap(projection='merc',llcrnrlat= 35,urcrnrlat=60,llcrnrlon=0,urcrnrlon=30,resolution='c', suppress_ticks=True) 
m.drawcountries() 
m.drawcoastlines() 
plt.show() 

這些過程給我用三角測量和地圖的結果的兩個consequtive分離圖片。我怎樣才能合併它們並獲得具有三角測量的地圖和結果的圖片? 預先感謝您。

以armatita。 謝謝你的回答,但它沒有幫助。當我運行這個代碼:

u = np.array(lat) 
v = np.array(lon) 
x = u 
y = v 
z = np.array(iwv) 
tri = Delaunay(np.array([u,v]).T) 
lev = np.linspace(0, 0.1, 100) 
m = Basemap(projection='merc',llcrnrlat= 35,urcrnrlat=60,llcrnrlon=0,urcrnrlon=30,resolution='c', suppress_ticks=True) 
m.drawcountries() 
m.drawcoastlines() 
plt.tricontourf(y, x, z, lev, triangles=tri.simplices) 
plt.colorbar() 
plt.show() 

我只是得到一個空的地圖與顏色欄。

要dl.meteo: 謝謝你,但是當我試圖做到這一點,我得到一個消息:

> Traceback (most recent call last): File 
> "/home/anton/PycharmProjects/final/test.py", line 76, in <module> 
>  plot = m.contourf(x1, y1,z, lev) File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py", line 
> 521, in with_transform 
>  return plotfunc(self,x,y,data,*args,**kwargs) File "/usr/lib/pymodules/python2.7/mpl_toolkits/basemap/__init__.py", line 
> 3644, in contourf 
>  xx = x[x.shape[0]/2,:] IndexError: too many indices 

據我瞭解,在contourf)的第三個參數(應該是一個二維數組,但三角測量返回一維數組。

+0

你有plt.show()的兩個實例,刪除首先依次運行繪圖指令(依次執行)。一旦完成所有指令(對於兩個圖),請執行plt.show() – armatita

回答

0

您必須引用米(圖)您的變量x和y。

x,y = m(lats,lons) 

,然後你必須初始化輪廓

plot = m.contour(x,y) 

我希望這可以幫助,我是初學者太;)