Mam mapę bazową świata i jest ona wypełniona danymi (lintrends_mean) przy użyciu pcolormesh. Ponieważ dane mają stosunkowo duże pola siatki, chciałbym wygładzić fabułę. Jednak nie mogę wymyślić, jak to zrobić. Ustawienie cieniowania = 'gouraud' w funkcji kreślenia powoduje rozmycie krawędzi pól siatki, ale chciałbym mieć coś ładniejszego, ponieważ dane nadal wydają się plamiste.Jak wygładzać interpolację podczas korzystania z pcolormesh?
Pojawiło się podobne pytanie z odpowiedzią, ale nie rozumiem odpowiedzi, szczególnie, gdy pochodzi "nowa dusza". Nie mogę tego skomentować w celu wyjaśnienia, ponieważ brakuje mi reputacji. interpolation with matplotlib pcolor
#Set cmap properties
bounds = np.array([0.1,0.2,0.5,1,2,3,4,6,9,13,20,35,50])
norm = colors.LogNorm(vmin=0.01,vmax=55) #creates logarithmic scale
#cmap.set_under('#000099') # I want to use this- edit in Paint
cmap.set_over('#660000') # everything above range of colormap
fig = plt.figure(figsize=(15.,10.)) #create figure & size
m = Basemap(projection='cyl',llcrnrlat=-90,urcrnrlat=90,llcrnrlon=0,urcrnrlon=360.,lon_0=180.,resolution='c') #create basemap & specify data area & res
m.drawcoastlines(linewidth=1)
m.drawcountries(linewidth=1)
m.drawparallels(np.arange(-90,90,30.),linewidth=0.3)
m.drawmeridians(np.arange(-180.,180.,90.),linewidth=0.3)
meshlon,meshlat = np.meshgrid(lon,lat) #meshgrid turns lats & lons into 2D arrays
x,y = m(meshlon,meshlat) #assign 2D arrays to new variables
trend = m.pcolormesh(x,y,lintrends_mean,cmap=plt.get_cmap('jet'),norm=norm) #plot the data & specify colormap & color range
cbar=m.colorbar(trend,size="3%", label='Linear Trend (mm/day/decade)',ticks=bounds,extend="max")
cbar.set_ticklabels(bounds)
plt.title('Linear Trends of PR (CanESM2 1979-2014)',fontsize=16)
plt.xlabel('Longitude',fontsize=10)
plt.ylabel('Latitude',fontsize=10)
plt.show()
to wygląda topornie można uznać za cecha, a nie bug. Nie sprawia, że dane wyglądają na lepszą siatkę niż w rzeczywistości. – tacaswell
Wiem, że blokowanie nie jest błędem. Mój doradca naukowy zasugerował, że wygładzam siatkę dla celów prezentacji, a nie podobało mi się, jak wyglądało stosowanie cieniowania gouraud. – ChristineB
Sugeruję interpolację przed kreśleniem niż. Daje ci większą kontrolę. – tacaswell