Zane Selvans wrote:
> I'm drawing several hundred lines at a time, each consisting of 10-100  
> points, and it takes a couple of minutes for them all to display,  
> which makes me think I must be doing something stupid.
>
> The function that does the drawing looks like this:
>
> def plotlinmap(lins, map=None):
>      if map is None:
>          map = Basemap()
>
>      map.drawmapboundary(fill_color="white")
>      map.drawmeridians(range(-180,181,30)), labels=[1,0,0,1])
>      map.drawparallels(range(-90,91,30)), labels=[1,0,0,1])
>
>      for lin in lins:
>          x,y = map(degrees(lin.longitudes()),degrees(lin.latitudes()))
>          map.plot(x,y)
>
>      return(map)
>
> It displays one line at a time, whenever map.plot() is called.  Really  
> I'd like it to just do all the drawing at the end (assuming that would  
> make the whole process much faster).  Is there some way to cleanly  
> pass map.plot() a big list of lines to draw?  I'm sure there is and  
> I'm just being dense.  Argh.
>
> --
> Zane Selvans
> Amateur Earthling
> http://zaneselvans.org
> [EMAIL PROTECTED]
> 303/815-6866
> PGP Key: 55E0815F
>
>   
Zane:  You can set up a LineCollection like this

lcoll = LineCollection(segments)

then add it to the current axes

ax = pylab.gca()
ax.add_collection(lcoll)

(instead of using the Basemap plot method).

To make sure the map axes are rescaled properly, you may need to do

map.set_axes_limits()

afterwards.

See the line_collection.py pylab example for more details.

-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 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-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to