Try

aa.set_autoscale_on(False)

before your "make_xaxis" call (but after xlim and ylim changed).
When you plot something, the xlim and ylim is automatically adjusted
(unless you set autoscale=False).

-JJ


On Wed, Mar 11, 2009 at 2:31 PM, Nicholas Stephens
<nicholas.steph...@univ-brest.fr> wrote:
> Hi all,
>
> I am again a little defeated so I hope somebody can point me in the
> right direction. I am trying to plot a graph but require some
> customation of the axes afterwards. As the axes are sacred in
> matplotlib I am trying to hide the existing axes and plot some new
> axes afterwards. The problem I have encountered is whilst plotting the
> new axes, the xlim functions apparently are no longer recognised.
>
> The new axes appears fine but on the non-limited axes. All of this
> appears to work until the "make_xaxis" command where the original
> non-limited x axis appears again. I have tried various methods, tricks
> and suggestions but cannot appear to get the script to work. Probably
> something simple I know, but I can't seem to get around this one :-s
>
>
> test script >
>
> from pylab import *
> import matplotlib.pyplot as plt
> import matplotlib.lines as lines
>
> #define new axis subroutines
> def make_xaxis(aa, yloc, offset, **props):
>     xmin, xmax = aa.get_xlim()
>     locs = [loc for loc in aa.xaxis.get_majorticklocs()
>             if loc>=xmin and loc<=xmax]
>     tickline, = aa.plot(locs, [yloc]*len(locs),linestyle='',
>             marker=lines.TICKDOWN, **props)
>     aaline, = aa.plot([xmin, xmax], [yloc, yloc], **props)
>     tickline.set_clip_on(False)
>     aaline.set_clip_on(False)
> # xaxis text
>     for loc in locs:
>         aa.text(loc, yloc-offset, '%1.0f'%loc,
>                 horizontalalignment='center',
>                 verticalalignment='top')
>
> def make_yaxis(aa, xloc, offset, **props):
>     ymin, ymax = aa.get_ylim()
>     locs = [loc for loc in aa.yaxis.get_majorticklocs()
>             if loc>=ymin and loc<=ymax]
>     tickline, = aa.plot([xloc]*len(locs), locs, linestyle='',
>             marker=lines.TICKLEFT, **props)
>     aaline, = aa.plot([xloc, xloc], [ymin, ymax], **props)
>     tickline.set_clip_on(False)
>     aaline.set_clip_on(False)
> # yaxis text
>     for loc in locs:
>         aa.text(xloc-offset, loc, '%1.2f'%loc,
>                 verticalalignment='center',
>                 horizontalalignment='right')
>
> #read data
> a=load('NC_figure4_alteredT.dat', skiprows=(1))
> ax=a[:,0]
> ay1=a[:,1]
> ay2=a[:,2]
>
> props = dict(color='black', linewidth=2, markeredgewidth=2)
>                                                 #new axis props
> fig = plt.figure(facecolor='white')
> aa = fig.add_subplot(111, frame_on=False)
> aa.scatter(ax, ay2, s=15, c='b', marker='^')
> aa.set_xlim(-2.5,58.5)
> aa.set_ylim(-0.01,0.25)
>
> #plot new axes
> make_xaxis(aa, -0.02, offset=0.01, **props)
>                                                 #offset text values from axes
>                                                 #select y axis intercept
> #make_yaxis(aa, -4, offset=3, **props)           #offset text values from axes
>
> show()
>
>
>
> data>
> time (h)        n:c (a) n:c (b)
> -2      0.12    0.21
> -2      0.12    0.15
> -2      0.1     0.14
> 0       0.12    0.14
> 0       0.11    0.13
> 0       0.11    0.21
> 2       0.11    0.15
> 2       0.11    0.13
> 2       0.11    0.14
> 4       0.11    0.14
> 4       0.1     0.14
> 4       0.09    0.12
> 6       0.09    0.14
> 6       0.1     0.12
> 6       0.1     0.1
> 8       0.11    0.13
> 8       0.08    0.13
> 8       0.1     0.11
> 10      0.1     0.12
> 10      0.08    0.11
> 10      0.11    0.1
> 12      0.07    0.1
> 12      0.09    0.1
> 12      0.08    0.1
> 14      0.1     0.1
> 14      0.16    0.1
> 14      0.1     0.1
> 16      0.1     0.1
> 16      0.17    0.1
> 16      0.07    0.1
> 18      0.1     0.09
> 18      0.09    0.11
> 18      0.09    0.11
> 20      0.09    0.12
> 20      0.09    0.1
> 20      0.07    0.11
> 22      0.12    0.11
> 22      0.09    0.12
> 22      0.09    0.13
> 24      0.09    0.13
> 24      0.11    0.13
> 24      0.11    0.13
> 26      0.09    0.12
> 26      0.09    0.13
> 26      0.11    0.14
> 28      0.09    0.13
> 28      0.1     0.14
> 28      0.09    0.13
> 30      0.09    0.12
> 30      0.1     0.13
> 30      0.1     0.12
> 32      0.09    0.12
> 32      0.08    0.12
> 32      0.09    0.12
> 34      0.08    0.12
> 34      0.08    0.12
> 34      0.11    0.11
> 36      0.09    0.11
> 36      0.07    0.11
> 36      0.09    0.1
> 38      0.1     0.11
> 38      0.08    0.11
> 38      0.09    0.1
> 40      0.09    0.11
> 40      0.09    0.11
> 40      0.09    0.11
> 42      0.09    0.11
> 42      0.11    0.12
> 42      0.08    0.11
> 44      0.12    0.12
> 44      0.12    0.16
> 44      0.11    0.12
> 46      0.11    0.12
> 46      0.12    0.11
> 46      0.1     0.12
> 48      0.1     0.12
> 48      0.14    0.13
> 48      0.1     0.14
> 56      0.1     0.12
> 56      0.11    0.12
> 56      0.11    0.12
> 58      0.12    0.11
> 58      0.12    0.11
> 58      0.12    0.1
>
>
>
>
> ------------------------------------------------------------------------------
> Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
> powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
> easily build your RIAs with Flex Builder, the Eclipse(TM)based development
> software that enables intelligent coding and step-through debugging.
> Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
>
------------------------------------------------------------------------------
Apps built with the Adobe(R) Flex(R) framework and Flex Builder(TM) are
powering Web 2.0 with engaging, cross-platform capabilities. Quickly and
easily build your RIAs with Flex Builder, the Eclipse(TM)based development
software that enables intelligent coding and step-through debugging.
Download the free 60 day trial. http://p.sf.net/sfu/www-adobe-com
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to