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
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]
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. –
I dati di input sono dati meteorologici GFS standard. Modificherò il post con alcune rappresentazioni dei dati. – Laxsnor