On 2012/12/11 1:24 PM, Timothy Duly wrote:
> Thanks Eric, this did the trick.  I did not know such a thing existed.
>   Why "4"?

I don't remember exactly what the defaults are for different types of 
artist, and didn't want to take the time to look, but I think they are 
all less than 4.  So I just picked that as a value that would do the job.

Eric

>
> Tim
>
>
> On Tue, Dec 11, 2012 at 4:35 PM, Eric Firing <efir...@hawaii.edu
> <mailto:efir...@hawaii.edu>> wrote:
>
>     On 2012/12/11 12:16 PM, Timothy Duly wrote:
>      > Hi,
>      >
>      > I'm running into a problem with overlaying a scatter plot on a
>     polygon
>      > that is on a Basemap.  The polygon covers up the scatter plot
>     created by
>      > the basemap.  To show the issue, the simple example below and broken
>      > down into three steps: 1) creating the map, 2) adding the red
>     polygon,
>      > and 3) adding the "x" markers via a scatter plot.  You will see
>     that the
>      > "x" markers are not on top of the polygon.
>      >
>      > Why does the polygon cover up the markers, even though I have the
>      > markers added after the polygon?  Would there be a better way to do
>      > this?  I could set the polygon alpha to, say, 0.5, but this
>     feature does
>      > not show when I save it as an eps image.  Therefore, I would like to
>      > keep alpha=1.
>
>     Artists have a zorder attribute that controls the drawing order.  Try
>     adding the kwarg zorder=4 to your scatter call.  I think that will take
>     care of it.  (Alternatively you could lower the zorder of the polygon.)
>
>     Eric
>
>      >
>      > Thanks,
>      > Tim
>      >
>      > from mpl_toolkits.basemap import Basemap
>      > import numpy as np
>      > from matplotlib.pyplot import *
>      > from matplotlib.patches import Polygon
>      >
>      >
>      > # ---------------------
>      > # Part 1: Draw the map
>      > # ---------------------
>      >
>      > # Hawaii:
>      > lat_0 = 20.71-8.
>      > lon_0 = 203.83
>      >
>      > figure(1); clf();
>      > m = Basemap(width=2500e3,height=2500e3,
>      >          resolution='l',projection='stere', \
>      >                  lat_ts=lat_0,lat_0=lat_0,lon_0=lon_0)
>      >
>      > m.drawcoastlines()
>      > m.fillcontinents(color='coral',lake_color='aqua')
>      >
>      > # draw parallels and meridians:
>      > m.drawmapboundary(fill_color='aqua')
>      >
>      > lats = np.arange(np.floor(m.latmin),np.ceil(m.latmax),2.)
>      > lons = np.arange(190.,211.,5.)
>      > m.drawparallels(lats,labels=[True,False,False,False])
>      > m.drawmeridians(lons,labels=[False,False,False,True])
>      >
>      > draw(); show()
>      >
>      > # ---------------------
>      > # Part 2: Add a polygon
>      > # ---------------------
>      >
>      > lon_poly = np.array([-160., -150., -150., -160.,])
>      > lat_poly = np.array([10., 10., 14., 14.,])
>      > X, Y  = m(lon_poly, lat_poly)
>      > xy = np.vstack([X,Y]).T
>      >
>      > poly = Polygon(xy, closed=True, \
>      >          facecolor='red', \
>      >          linewidth=1., \
>      >          )
>      >
>      > gca().add_patch(poly)
>      >
>      > # ---------------------
>      > # Part 3: add some 'x' markers
>      > # ---------------------
>      >
>      > lon_markers = np.arange(-168.,-144.,2.)
>      > lat_markers = np.arange(5.,20.,1.)
>      > X, Y = np.meshgrid(lon_markers, lat_markers)
>      >
>      > x, y = m(X.ravel(), Y.ravel())
>      > m.scatter(x,y,marker='x')
>      >
>      > draw(); show()
>      >
>      >
>      >
>      >
>     
> ------------------------------------------------------------------------------
>      > LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
>      > Remotely access PCs and mobile devices and provide instant support
>      > Improve your efficiency, and focus on delivering more value-add
>     services
>      > Discover what IT Professionals Know. Rescue delivers
>      > http://p.sf.net/sfu/logmein_12329d2d
>      >
>      >
>      >
>      > _______________________________________________
>      > Matplotlib-users mailing list
>      > Matplotlib-users@lists.sourceforge.net
>     <mailto:Matplotlib-users@lists.sourceforge.net>
>      > https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>      >
>
>
>     
> ------------------------------------------------------------------------------
>     LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
>     Remotely access PCs and mobile devices and provide instant support
>     Improve your efficiency, and focus on delivering more value-add services
>     Discover what IT Professionals Know. Rescue delivers
>     http://p.sf.net/sfu/logmein_12329d2d
>     _______________________________________________
>     Matplotlib-users mailing list
>     Matplotlib-users@lists.sourceforge.net
>     <mailto:Matplotlib-users@lists.sourceforge.net>
>     https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
>


------------------------------------------------------------------------------
LogMeIn Rescue: Anywhere, Anytime Remote support for IT. Free Trial
Remotely access PCs and mobile devices and provide instant support
Improve your efficiency, and focus on delivering more value-add services
Discover what IT Professionals Know. Rescue delivers
http://p.sf.net/sfu/logmein_12329d2d
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to