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