2015-06-03 19 views
5

Sto cercando di sovrapporre i contorni sopra a un contorno di contorno riempito in matplotlib per alcuni dati atmosferici. Tuttavia, le mie etichette di contorno non vengono sempre visualizzate sullo schermo. Di seguito è riportato un esempio:Contour Le etichette non vengono visualizzate

problem

Come si può vedere, le etichette di contorno sono solo appaiono sul più interni pochi contorni.

Sapendo che la mia fascia di contorno è definito in precedenza come

list(range(950,1052,4)) 

Ho il seguente codice in realtà trama:

parallels = np.arange(0.,90,5.) 
basem.drawparallels(parallels,labels=[1,0,0,0],fontsize=10) 
# draw meridians 
meridians = np.arange(180.,360.,5.) 
basem.drawmeridians(meridians,labels=[0,0,0,1],fontsize=10) 
basem.drawstates() 
basem.drawcountries() 
if clevs != 0: 

    cs = basem.contourf(x,y, plotted_var, clevs) 
    cl = basem.contour(x,y, plotted_var, clevsl, colors='k') 
    plt.clabel(cl, fmt="%1.0f", fontsize=8) 

else: 
    cs = basem.contourf(x,y, plotted_var, cmap=plt.get_cmap(colorbar), 
     vmin = vmin, vmax = vmax) 

cbar = basem.colorbar(cs, location='bottom', pad = "5%") 

cbar.set_label(units) 

Inoltre, la mia definizione mappa di base è:

basem = Basemap(width=5800000,height=3000000, 
     rsphere=(6378137.00,6356752.3142),\ 
     resolution='h',area_thresh=1000.,projection='lcc',\ 
     lat_1=45.,lat_2=55,lat_0=40,lon_0=-102.) 

È un bug o c'è qualcosa che mi manca? Sto tentando di evitare l'uso del manuale se posso.

I dati di input sono un set di dati globale (modello meteorologico GFS). x, y si ottengono da:

lons2, lats2 = np.meshgrid(lons, lats) 

x,y = basem(lons2, lats2) 

dove Lons, dorsali sono:

lons = [0.0, 0.25, 0.5, 0.75, 1.0, ..., 359.75, 360.0] 
lats = [-90, -89.75, ..., 89.75, 90] 
+0

Posso apprezzare che i dati grezzi potrebbero essere sotto un accordo di licenza o qualcosa del genere - ma un'approssimazione rappresentativa di 'x',' y' e 'plotted_var' sarebbe utile per essere in grado di testare/replicare questo. –

+0

I dati di input sono dati meteorologici GFS standard. Modificherò il post con alcune rappresentazioni dei dati. – Laxsnor

risposta

1

mi sembra di aver risolto il problema in questo modo:

resolved issue

Quello che dovevo fare era legato i dati a ciò che è possibile vedere su basemap. Il mio set di dati di input era un set di dati globale, e quando l'ho rilegato (visto nelle aree bianche sotto), le etichette di contorno si sono mostrate principalmente all'interno dei confini della mappa. Questo sembra ancora un bug: la mia scelta di una regione di visualizzazione cambia la posizione delle etichette di contorno in quasi tutti gli altri programmi di grafica meteorologica (come GrADS), ma per ora segnerò questa risposta.

Problemi correlati