2016-01-23 4 views
0

Я пытаюсь построить простую температурную диаграмму из данных GFS с помощью pygrib. Я использовал примеры из следующих ссылок: -matplotlib doesnt обрабатывает данные по базовой карте

http://jswhit.github.io/pygrib/docs/index.html http://polar.ncep.noaa.gov/waves/examples/usingpython.shtml

Вот пример кода я пытаюсь сделать: -

import pygrib 
import matplotlib.pyplot as plt 
from mpl_toolkits.basemap import Basemap 
import numpy as np 

grib = 'data/gfs.t00z.pgrb2f00' 
grbs = pygrib.open(grib) 

grbs.seek(0) 
grb = grbs.select(name='Temperature')[0] 
data, lats, lons = grb.data(lat1=0,lat2=35,lon1=60,lon2=100) 
print data # <<--- This has some values but not plotted in the map. 
m = Basemap(projection='merc', llcrnrlat=0, urcrnrlat=35,\ 
       llcrnrlon=60, urcrnrlon=100, resolution='c') 

x, y = m(lats, lons) 
m.drawcoastlines() 
cs = m.pcolor(x, y, np.squeeze(data)) 
m.colorbar(cs, location='bottom', pad="10%") 
plt.title('Simple temperature plot from GRiB') 
plt.show() 

Терминал вывода показывает наличие данных о ' данных ": -

python2.7 grib_plot.py 
[[ 225.8 225.8 225.8 ..., 225.9 225.8 225.7] 
[ 225.7 225.7 225.6 ..., 225.8 225.8 225.7] 
[ 225.6 225.6 225.5 ..., 225.8 225.8 225.8] 
..., 
[ 229.1 229.1 229.1 ..., 231.1 230.8 230.6] 
[ 228.3 228.5 228.8 ..., 231.3 230.7 230.5] 
[ 227.4 227.8 228.3 ..., 231.6 231.1 230.8]] 

Однако в результате изображение не отображает график температуры повторно

sample grib data temp plot

Любая помощь, чтобы решить эту проблему ценится.

ответ

0

Это мое плохое, что я использовал неправильное кодирование. Предполагается, что

x, y = m(lons, lats)

Он работает в настоящее время.

Смежные вопросы