0
나는이 질문 -을 읽었는데 그게 나에게 적용되는 것은 확실하지 않지만 나는 그 나라의 셰이프 파일을 가지고 있으며 GRIB 파일의 강수량 데이터를 해당 셰이프 파일에 오버레이하고 싶다. 이것은 pygrib와 matplotlib를 사용하고 있습니다. basemap.coastlines() 및 Basemap.countries() 셰이프 파일을 사용할 수 있기 때문에 사용하고 싶지 않다. 내 셰이프 파일로 오버라이드하고 싶습니다. 어떻게해야합니까?matplotlib 및 pygrib를 사용하여 셰이프 파일에 강수량 데이터를 오버레이하는 방법은 무엇입니까?
#!/usr/bin/python3.4
import numpy as np
import pygrib
import shapefile
import matplotlib.pyplot as plt
from mpl_toolkits.basemap import Basemap
grbs = pygrib.open('00020000')
grb = grbs.select(name='Total Precipitation')[0]
data = grb.values
lat,lon = grb.latlons()
m=Basemap(projection='mill',lat_ts=10,llcrnrlon=lon.min(), \
urcrnrlon=lon.max(),llcrnrlat=lat.min(),urcrnrlat=lat.max(), \
resolution='c')
m.readshapefile("adm3.shp")
x,y=m(lon,lat)
cs = m.pcolormesh(x,y,data,shading='flat',cmap=plt.cm.jet)
m.drawparallels(np.arange(-90.,80.,5.),labels=[1,0,0,0])
m.drawmeridians(np.arange(-180.,180.,5.),labels=[0,0,0,1])
plt.colorbar(cs,orientation='vertical')
plt.title('Precipitation Plot')
plt.show()