I have since switched over to the svn checkout of basemap, and this issue appears to be 'fixed'. While readshapefile() does still load all of the data, it appears that .set_axes_limits() automatically turns off autoscaling. This should cut down on much of the "odd" behaviors users would encounter. FWIW, I was using v0.99.2 from the Fedora repos.
Ben Root On Fri, May 21, 2010 at 4:57 PM, Benjamin Root <ben.r...@ou.edu> wrote: > I did some more digging and I think I have a hypothesis for what is > happening. > > There is only one main difference between a call to .drawstates() and > .readshapefiles() with respect to loading and plotting data. .drawstates() > loads *only* the line segments that coincide with the defined map > boundaries, while .readshapefiles() loads all of the data in the shapefile. > Therefore, the LineCollection that gets attached to the axis contains data > from outside the stated domain. > > In addition, the basemap versions of the plotting functions have the > benefit of finishing their calls with a call to .set_axes_limits(), which > keeps the axes in check. However, a non-basemap version would not call that > automatically, thereby having its axes automatically expanded to contain all > of the data in the LineCollection. > > I am not sure what exactly should be done about this. This is certainly > un-intuitive behavior, though. Maybe there could be a keyword option in > .readshapefile() to have only the data for the stated domain loaded? That > might solve the issue. > > Thanks, > Ben Root > > > On Fri, May 21, 2010 at 4:08 PM, Benjamin Root <ben.r...@ou.edu> wrote: > >> Hello, >> >> I have been tracking down an annoying (but easily worked around) issue >> with Basemap. It seems that if you call .readshapefile() to create, for >> example, roads on your image, and then call any pyplot command afterwards >> for that axis, the axis will reset itself to the entire domain (I guess it >> would be the complete domain stated in the shapefile, maybe?). This does >> not happen if you call the equivalent function from the Basemap instance, >> though. Also, this does not happen with drawstates() and its ilk. >> >> I have made a test script and a couple of supporting shapefile in a tar.gz >> file to demonstrate the issue. It is available here: >> http://dl.dropbox.com/u/7325604/basemaptest.tar.gz >> >> >> I have also attached a png file showing the resulting image as it appears >> on my computer. I have no clue as to the cause and I hope that someone here >> might have an idea. >> >> Thanks, >> Ben Root >> > >
------------------------------------------------------------------------------
_______________________________________________ Matplotlib-devel mailing list Matplotlib-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-devel