J'essaie de tracer une carte globale des émissions de gaz. Cependant, il semble que je ne peux pas obtenir mes données (NH3idx) tracées sur l'ampli. Je ne sais pas si la traduction à partir de lat lon coordonnées pour tracer des coordonnées de projection erronées ou je ne peux pas lire les données que je veux tracer.Impossible d'obtenir mes données tracées sous forme de carte de base sur la carte de base
import numpy as np
import pylab as plt
import math
from mpl_toolkits.basemap import Basemap
import csv
dlat = 0.1
dlon = 0.1
nlat = 1800
nlon = 3600
longrid = -180 + np.arange(nlon) * dlon
latgrid = -90 + np.arange(nlat) * dlat
NH3idx = np.zeros([nlon,nlat])
with open ('NH3_2008.txt') as csvfile:
plots = csv.reader(csvfile, delimiter=';')
for row in plots:
inlon = float(row[1])
inlat = float(row[0])
lonidx = int(abs(inlon + 180)/dlon)
latidx = int(abs(inlat +90)/dlat)
NH3idx[lonidx,latidx] = float(row[2])
plt.figure(figsize=(20,10))
m = Basemap(projection='cyl', llcrnrlat=-90,urcrnrlat=90,\
llcrnrlon=-180,urcrnrlon=180,resolution='l')
y,x = np.meshgrid(latgrid, longrid)
m.drawcoastlines()
m.drawmeridians(np.arange(-180.,180.,20.))
m.drawparallels(np.arange(-90.,90.,20.))
m.drawmapboundary(fill_color='white')
plt.contourf(x,y,NH3idx)
plt.colorbar()
plt.show()
et mes données ressemblent à ceci:
the columns are lat, lon, emissions