Thanks! Perfect! I *love* matplotlib!!! Darren Dale wrote: > On Saturday 12 April 2008 7:19:32 am Norbert Nemec wrote: > >> Hi there, >> >> I often have the case that I want to view different data sets that share >> one axis. Imagine, for example, a time series of several different >> observables. Since all observables may have different units, scales and >> offsets, I would want to display them as separate subplots that have the >> same x-axis (time) but indepent y scales. >> >> Is there a way to lock the scales of several subplots so that when I >> zoom into one of the subplots interactively, the scale of the other >> subplots is automatically adjusted? (Preferably something simple enough >> to use it in quick-and-dirty scripts or even interactive sessions.) >> > > I think shared_axis_demo.py, in the examples archive, is what you are looking > for. It is well documented, and simple enough to include here in its > entirety: > > """ > You can share the x or y axis limits for one axis with another by > passing an axes instance as a sharex or sharey kwarg. > > Changing the axis limits on one axes will be reflected automatically > in the other, and vice-versa, so when you navigate with the toolbar > the axes will follow each other on their shared axes. Ditto for > changes in the axis scaling (eg log vs linear). However, it is > possible to have differences in tick labeling, eg you can selectively > turn off the tick labels on one axes. > > The example below shows how to customize the tick labels on the > various axes. Shared axes share the tick locator, tick formatter, > view limits, and transformation (eg log, linear). But the ticklabels > themselves do not share properties. This is a feature and not a bug, > because you may want to make the tick labels smaller on the upper > axes, eg in the example below. > > If you want to turn off the ticklabels for a given axes (eg on > subplot(211) or subplot(212), you cannot do the standard trick > > setp(ax2, xticklabels=[]) > > because this changes the tick Formatter, which is shared among all > axes. But you can alter the visibility of the labels, which is a > property > > setp( ax2.get_xticklabels(), visible=False) > > > """ > from pylab import * > > t = arange(0.01, 5.0, 0.01) > s1 = sin(2*pi*t) > s2 = exp(-t) > s3 = sin(4*pi*t) > ax1 = subplot(311) > plot(t,s1) > setp( ax1.get_xticklabels(), fontsize=6) > > ## share x only > ax2 = subplot(312, sharex=ax1) > plot(t, s2) > # make these tick labels invisible > setp( ax2.get_xticklabels(), visible=False) > > # share x and y > ax3 = subplot(313, sharex=ax1, sharey=ax1) > plot(t, s3) > xlim(0.01,5.0) > show() > > > Darren > > ------------------------------------------------------------------------- > This SF.net email is sponsored by the 2008 JavaOne(SM) Conference > Don't miss this year's exciting event. There's still time to save $100. > Use priority code J8TL2D2. > http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > >
------------------------------------------------------------------------- This SF.net email is sponsored by the 2008 JavaOne(SM) Conference Don't miss this year's exciting event. There's still time to save $100. Use priority code J8TL2D2. http://ad.doubleclick.net/clk;198757673;13503038;p?http://java.sun.com/javaone _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users