[EMAIL PROTECTED] wrote: > I've been trying to help a friend who wants to plot directional data on a > "Wulff net" > <http://en.wikipedia.org/wiki/Pole_figure#Geometry_in_the_pole_figure>, which > is a stereographic projection plot. She wants to plot points specified by > latitude and longitude in degrees. We hoped to be able to use the basemap > toolkit's "stere" plot, centred at lat_0=0, lon_0=0, with limits set at > +/-90deg lat and +/-180deg lon, but we keep getting tracebacks and I wondered > whether this is possible, based on a comment from Jeff Whitaker > <http://www.nabble.com/-basemap--stereographic-projection-bounding-boxes-tf2170166.html#a6000978> > which implies that basemap's stereographic projection code can't handle > these default limits. Is this the case? Would it be asking too much to > request a small sample of generating some Wulff-net axes? Plotting points on > these seems simple enough. We started with the polarmaps.py example and the > code below is as close as we could get. Any suggestions would be wel co > me. > > Gary Ruben > > -- > > from matplotlib.toolkits.basemap import Basemap > from pylab import * > > # loop over projections, one for each panel of the figure. > fig = figure(figsize=(4,4)) > # setup map projection > m = > Basemap(projection='stere',lat_0=0.,lon_0=0.,llcrnrlat=-50.,llcrnrlon=-120., > urcrnrlat=90., urcrnrlon=90.) > > ax = fig.add_subplot(1,1,1) > # draw parallels and meridians. > m.drawparallels(arange(-180.,180.,10.)) > m.drawmeridians(arange(-90.,90.,10.)) > # draw boundary around map region. > m.drawmapboundary() > show() > > > - Gary:
How about this? import pylab as p from matplotlib.toolkits.basemap import Basemap from matplotlib.patches import Circle, Polygon w=25483988.0 map = Basemap(lon_0=0,lat_0=0,projection='stere',width=w,height=w) print map.llcrnrlat,map.llcrnrlon,map.urcrnrlat,map.urcrnrlon map.drawparallels(p.arange(-80,81,10)) map.drawmeridians(p.arange(-90,91,10)) ax = p.gca() circ = Circle(map(0,0),0.5*w) circ.set_fill(False) circ.set_edgecolor('k') circ.set_linewidth(1.0) circ.set_clip_on(True) ax.add_patch(circ) #ax.set_frame_on(False) p.show() It should be possible to get rid of the lines extending outside the circular region by filling the region between the circle and the bounding square. HTH, -Jeff -- Jeffrey S. Whitaker Phone : (303)497-6313 NOAA/OAR/CDC R/PSD1 FAX : (303)497-6449 325 Broadway Boulder, CO, USA 80305-3328 ------------------------------------------------------------------------- This SF.net email is sponsored by DB2 Express Download DB2 Express C - the FREE version of DB2 express and take control of your XML. No limits. Just data. Click to get it now. http://sourceforge.net/powerbar/db2/ _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users