From: <js...@us...> - 2008-08-01 17:58:05
|
Revision: 5948 http://matplotlib.svn.sourceforge.net/matplotlib/?rev=5948&view=rev Author: jswhit Date: 2008-08-01 17:57:59 +0000 (Fri, 01 Aug 2008) Log Message: ----------- change drawlsmask method to accept any valid matplotlib color specification. Modified Paths: -------------- trunk/toolkits/basemap/examples/ortho_demo.py trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py Added Paths: ----------- trunk/toolkits/basemap/doc/users/figures/background1.py trunk/toolkits/basemap/doc/users/figures/background2.py trunk/toolkits/basemap/doc/users/figures/background3.py Added: trunk/toolkits/basemap/doc/users/figures/background1.py =================================================================== --- trunk/toolkits/basemap/doc/users/figures/background1.py (rev 0) +++ trunk/toolkits/basemap/doc/users/figures/background1.py 2008-08-01 17:57:59 UTC (rev 5948) @@ -0,0 +1,15 @@ +from mpl_toolkits.basemap import Basemap +import matplotlib.pyplot as plt +# setup Lambert Conformal basemap. +m = Basemap(width=12000000,height=9000000,projection='lcc', + resolution='c',lat_1=45.,lat_2=55,lat_0=50,lon_0=-107.) +# draw coastlines. +m.drawcoastlines() +# draw a boundary around the map, fill the background. +# this background will end up being the ocean color, since +# the continents will be drawn on top. +m.drawmapboundary(fill_color='aqua') +# fill continents, set lake color same as ocean color. +m.fillcontinents(color='coral',lake_color='aqua') +plt.title("Lambert Conformal Projection") +plt.savefig('background1.png') Added: trunk/toolkits/basemap/doc/users/figures/background2.py =================================================================== --- trunk/toolkits/basemap/doc/users/figures/background2.py (rev 0) +++ trunk/toolkits/basemap/doc/users/figures/background2.py 2008-08-01 17:57:59 UTC (rev 5948) @@ -0,0 +1,11 @@ +from mpl_toolkits.basemap import Basemap +import matplotlib.pyplot as plt +# setup Lambert Conformal basemap. +# set resolution=None to skip processing of boundary datasets. +m = Basemap(width=12000000,height=9000000,projection='lcc', + resolution=None,lat_1=45.,lat_2=55,lat_0=50,lon_0=-107.) +# draw a land-sea mask for a map background. +# lakes=True means plot inland lakes with ocean color. +m.drawlsmask('coral','aqua',lakes=True) +plt.title("Lambert Conformal Projection") +plt.savefig('background2.png') Added: trunk/toolkits/basemap/doc/users/figures/background3.py =================================================================== --- trunk/toolkits/basemap/doc/users/figures/background3.py (rev 0) +++ trunk/toolkits/basemap/doc/users/figures/background3.py 2008-08-01 17:57:59 UTC (rev 5948) @@ -0,0 +1,9 @@ +from mpl_toolkits.basemap import Basemap +import matplotlib.pyplot as plt +# setup Lambert Conformal basemap. +# set resolution=None to skip processing of boundary datasets. +m = Basemap(width=12000000,height=9000000,projection='lcc', + resolution=None,lat_1=45.,lat_2=55,lat_0=50,lon_0=-107.) +m.bluemarble() +plt.title("Lambert Conformal Projection") +plt.savefig('background3.png') Modified: trunk/toolkits/basemap/examples/ortho_demo.py =================================================================== --- trunk/toolkits/basemap/examples/ortho_demo.py 2008-08-01 17:10:38 UTC (rev 5947) +++ trunk/toolkits/basemap/examples/ortho_demo.py 2008-08-01 17:57:59 UTC (rev 5948) @@ -13,7 +13,7 @@ rgba_land = (0,255,0,255) # land green. rgba_ocean = (0,0,255,255) # ocean blue. # lakes=True means plot inland lakes with ocean color. -m.drawlsmask(rgba_land, rgba_ocean, lakes=True) +m.drawlsmask('red','blue', lakes=True) # draw parallels and meridians. m.drawparallels(np.arange(-90.,120.,30.)) m.drawmeridians(np.arange(0.,420.,60.)) @@ -32,9 +32,9 @@ m.drawmapboundary(fill_color='aqua') # add a map scale. length = 5000 -x1,y1 = 0.2*m.xmax, 0.2*m.ymax +x1,y1 = 0.3*m.xmax, 0.25*m.ymax lon1,lat1 = m(x1,y1,inverse=True) -m.drawmapscale(lon1,lat1,lon_0,lat_0,length,fontsize=8,barstyle='fancy',\ +m.drawmapscale(lon1,lat1,lon1,lat1,length,fontsize=8,barstyle='fancy',\ labelstyle='fancy',units='km') plt.title('Orthographic Map Centered on Lon=%s, Lat=%s' % (lon_0,lat_0)) plt.show() Modified: trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py =================================================================== --- trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2008-08-01 17:10:38 UTC (rev 5947) +++ trunk/toolkits/basemap/lib/mpl_toolkits/basemap/__init__.py 2008-08-01 17:57:59 UTC (rev 5948) @@ -2940,7 +2940,7 @@ self.set_axes_limits(ax=ax) return retnh,retsh - def drawlsmask(self,rgba_land,rgba_ocean,lsmask=None, + def drawlsmask(self,land_color,ocean_color,lsmask=None, lsmask_lons=None,lsmask_lats=None,lakes=False,**kwargs): """ Draw land-sea mask image. @@ -2955,15 +2955,8 @@ ============== ==================================================== Arguments Description ============== ==================================================== - rgba_land rgba integer tuple that describes desired - land color. For example, for green (non-transparent) - land areas, use rgba_land = (0,255,0,255). - rgba_ocean rgba integer tuple that describes desired - ocean color. For example, for blue (non-transparent) - ocean areas, use (0,0,255,255). To make transparent - blue oceans (useful if you just want to mask land - regions over another image), use - rgba_ocean = (0,0,255,0). + land_color desired land color (color name or rgba tuple). + rgba_ocean desired ocean color (color name or rgba tuple). ============== ==================================================== .. tabularcolumns:: |l|L| @@ -2995,6 +2988,22 @@ Extra keyword ``ax`` can be used to override the default axis instance. """ + # convert land and ocean colors to integer rgba tuples with + # values between 0 and 255. + from matplotlib.colors import ColorConverter + c = ColorConverter() + # if conversion fails, assume it's because the color + # given is already an rgba tuple with values between 0 and 255. + try: + cl = c.to_rgba(land_color) + rgba_land = tuple([int(255*x) for x in cl]) + except: + rgba_land = land_color + try: + co = c.to_rgba(ocean_color) + rgba_ocean = tuple([int(255*x) for x in co]) + except: + rgba_ocean = ocean_color # look for axes instance (as keyword, an instance variable # or from plt.gca(). if not kwargs.has_key('ax') and self.ax is None: This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |