On Sun, Mar 18, 2012 at 11:08 AM, Benjamin Root <ben.r...@ou.edu> wrote:

>
>
> On Sunday, March 18, 2012, Tony Yu <tsy...@gmail.com> wrote:
> >
> >
> > On Sun, Mar 18, 2012 at 9:14 AM, klo uo <klo...@gmail.com> wrote:
> >>
> >> On Sun, Mar 18, 2012 at 1:50 PM, Angus McMorland <amcm...@gmail.com>
> wrote:
> >>>
> >>> For inline ipython, you want to switch to the object-oriented use of
> >>> pylab. Something like this should work with xlim.
> >>>
> >>> a = [0.1, 0.2, 0.1]
> >>> fig = plt.figure()
> >>> ax = fig.add_subplot(111)
> >>> ax.errorbar(arange(3), a, yerr=a-sum(a)/len(a), fmt='ro')
> >>> ax.set_xlim(-.5,2.5)
> >>> ax.show()
> >>>
> >>> I'm not aware of automatic settings for padding, but with this
> >>> set_xlim, it's easy enough to roll your own using the data limits.
> >>>
> >>
> >> OK, thanks
> >>
> >> It's not very elegant (assuming pylab freedom) but I take it as only
> way to correct clipping example (or differently put - to use custom range
> for axis)
> >>
> >
> > You can roll out a utility function that can automatically adjust the
> limits with some specified padding (i.e. the function doesn't calculate the
> marker size, but you can just give it sufficient padding).
> > Here's an example where you specify a padding passed on the axes size
> (0.05 is 5% of axes height/width):
> > #~~~~
> > import numpy as np
> > import matplotlib.pyplot as plt
> > def pad_limits(pad_frac=0.05, ax=None):
> >     ax = ax if ax is not None else plt.gca()
> >     ax.set_xlim(_calc_limits(ax.xaxis, pad_frac))
> >     ax.set_ylim(_calc_limits(ax.yaxis, pad_frac))
> > def _calc_limits(axis, frac):
> >     limits = axis.get_data_interval()
> >     mag = np.diff(limits)[0]
> >     pad = np.array([-mag*frac, mag*frac])
> >     return limits + pad
> > a = np.array([0.1, 0.2, 0.1])
> > plt.errorbar(np.arange(3), a, yerr=a-sum(a)/len(a), fmt='ro')
> > pad_limits()
> > plt.show()
> > #~~~~
> > I've put this is my personal mpl toolkit with the added ability of
> handling log scales:
> > https://github.com/tonysyu/mpltools/blob/master/mpltools/layout.py#L80
> > Best,
> > -Tony
> >
>
>
> Uhm, don't we already have padx and pady kwargs for various limits
> functions?  I know scatter and plot respects them.
>
> Ben Root


Oh, I didn't know anything about them. ... and where exactly? I can't seem
to find them (I looked in `ax.autoscale`, `ax.autoscale_view`, and
`plt.xlim`).

-Tony

(Sorry for the duplicate, Ben. I forgot to reply all)
------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to