Hmm. It seems that the adjustable='box-forced' option to set_aspect
does work. I don't know what went wrong the first time I tried it
(probably a typo). So that solves my problem. Thanks Eric.
It does seem to me that this should be the default behavior, though I
can appreciate the difficulty with panning and zooming.
Jon
On Wed, 2013-03-20 at 18:16 -0700, Brendan Barnwell wrote:
>
> On 2013-03-20 14:25, Eric Firing wrote:
> > > On 2013/03/20 8:57 AM, Jonathan Slavin wrote:
> >> >> Hi all,
> >> >>
> >> >> I've run across a minor but annoying bug. It can be
> demonstrated pretty
> >> >> simply:
> >> >>
> >> >> fig, ax = plt.subplots(2,1,sharex=True,figsize=(7.,7.))
> >> >> fig.subplots_adjust(hspace=0.0)
> >> >> x = 4.25*(np.arange(6.) - 2.5)/10.
> >> >> y = 0.6*x/max(x)
> >> >> ax[0].plot(x,y)
> >> >> ax[0].set_xlim(-1.2,1.2)
> >> >> ax[0].set_aspect('equal')
> >> >> ax[1].plot(x,y)
> >> >> ax[0].set_ylim(-0.6,0.6)
> >> >> ax[1].set_ylim(-0.6,0.6)
> >> >> ax[1].set_aspect('equal')
> >> >> plt.show()
> >> >>
> >> >> The problem is that the y limits on the two plots are slightly
> different
> >> >> from those set:
> > >
> > > I think the problem is that you are trying to specify too many
> things:
> > > you are specifying the box dimensions when you make the axes,
> then you
> > > are specifying xlim, and then you are specifying ylim, but then
> you are
> > > asking for a 1:1 aspect ratio. Something has to give! The
> aspect ratio
> > > handling is designed to provide the specified aspect ratio under
> a wide
> > > range of circumstances, including zooming and panning, and to do
> that,
> > > it has to be able to change something. You can choose to let the box
> > > dimensions be changeable, or the data limits.
>
> If I understand right, though, in this case what should give is the
> spacing around the axes but inside the figure (as suggested in the
> original post). You should be able to fix the aspect ratio of the
> *axes* and also the dimensions of the *figure*, and let the slack be
> taken up by blank space around the axes. It would still be possible
> for the dimensions of the axes box to change, just not their aspect
> ratio (i.e., zooming in on an oblong region would just result in a lot
> of blank space).
>
> -- Brendan Barnwell "Do not follow where the path may lead. Go,
> instead, where there is no path, and leave a trail." --author unknown
>
>
>
--
______________________________________________________________
Jonathan D. Slavin Harvard-Smithsonian CfA
[email protected] 60 Garden Street, MS 83
phone: (617) 496-7981 Cambridge, MA 02138-1516
cell: (781) 363-0035 USA
______________________________________________________________
------------------------------------------------------------------------------
Everyone hates slow websites. So do we.
Make your web apps faster with AppDynamics
Download AppDynamics Lite for free today:
http://p.sf.net/sfu/appdyn_d2d_mar
_______________________________________________
Matplotlib-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-users