2016-12-06 7 views
0

Несмотря на отсутствие изображения базовой карты, я хочу настроить его прозрачность, чтобы сделать его менее выраженным - в основном, чтобы его уныло. Я пытался вставить alpha=0.5 в несколько мест в моем коде, но он либо не имеет эффекта, либо не работает.Как настроить прозрачность изображения Basemap (matplotlib)?

Я попытался разместить alpha=0.5 в plt.figure(), Basemap() и map.arcgisimage(). Есть ли другой способ сделать изображения ESRI отображаемыми как выцветшие или менее непрозрачные версии самого себя?

geomap = plt.figure(figsize=(10,9)) 
ax1 = plt.axes([0.075, 0.01, 0.875, 0.975]) 
map = Basemap(llcrnrlon=self.LLcrnrlon ,llcrnrlat=self.LLcrnrlat,urcrnrlon=self.URcrnrlon, 
urcrnrlat=self.URcrnrlat, epsg=4269, projection='tmerc',lat_0 = self.center[0], 
lon_0 = self.center[1]) 
map.arcgisimage(service='ESRI_Imagery_World_2D', xpixels = 2500,dpi=150, 
    verbose= True, alpha=0.9) 
parallels = np.arange(round(self.LLcrnrlat,1),round(self.URcrnrlat,1),0.2) 
map.drawparallels(parallels,labels=[True, False, False, False],linewidth=0) 
meridians = np.arange(round(self.LLcrnrlon,1),round(self.URcrnrlon,1),0.2) 
map.drawmeridians(meridians,labels=[False, False, False, True],linewidth=0) 
+0

У меня нет IDEO о BaseMap, но если все остальное терпит неудачу, Вы можете поместить полупрозрачный белый [ 'matplotlib.patches.Rectangle'] (http://matplotlib.org/api/patches_api.html#matplotlib. patches.Rectangle) по всей оси, чтобы добиться такого же эффекта. – ImportanceOfBeingErnest

ответ

0

Вы должны использовать .set_alpha() для изображения.

# etc. 
img = map.arcgisimage(service='ESRI_Imagery_World_2D', xpixels=2500, dpi=150, verbose= True) 
img.set_alpha(0.2) 
# etc. 
plt.show()