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.

-------------------------------------------------------------------------
This SF.Net email is sponsored by the Moblin Your Move Developer's challenge
Build the coolest Linux based applications with Moblin SDK & win great prizes
Grand prize is a trip for two to an Open Source event anywhere in the world
http://moblin-contest.org/redirect.php?banner_id=100&url=/
_______________________________________________
Matplotlib-checkins mailing list
Matplotlib-checkins@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-checkins

Reply via email to