(sorry if this is a duplicate post)
Jae,

Thank you for your help. I found the problem. It was caused by using
pyplot.title(). It is working better now.
I next have to figure out how to do the following within AxesGrid:

   1. How to convert the x axis labels from an integer value representing
   epoch seconds to a nicely formatted date. I think this has something to do
   with matplotlib.dates.DateFormatter. I hope that this will remove the
   1.25325e9 from the plot.

   2. How to minimize or eliminate the white bands on the right and bottom
   of each axes caused by the axis scale exceeding the data values.

   3. How to eliminate (or hide) the first major tic label on the y axis
   (always 0) so it doesn't overlap with the last tick from the previous y
   axis.

It seems like there may be a different way to approach this than with
subplot()

Regards,

-Ryan
*
Here's a complete example:*

from matplotlib import pyplot
from mpl_toolkits.axes_grid import AxesGrid
from numpy import arange, linspace, meshgrid, random, transpose
# Generate some data
x_dim = linspace(1253250000,1253250000 + 60*60*24,47) # This is epoch
seconds
y_dim = arange(0,-2.7,-0.1)
z_dim = {}
z_dim['chl'] = random.rand(len(x_dim),len(y_dim)) +
linspace(5,26,len(y_dim))
z_dim['do'] = random.rand(len(x_dim),len(y_dim)) +
linspace(5,10,len(y_dim))
z_dim['turb'] = random.rand(len(x_dim),len(y_dim)) +
linspace(4.5,12.5,len(y_dim))
x_grid,y_grid = meshgrid(x_dim,y_dim)
x_grid = transpose(x_grid)
y_grid = transpose(y_grid)
# Start the plotting routines
DAP_figure = pyplot.figure(1,(8,8))
#pyplot.title('Title goes here') # *THIS IS THE LINE THAT CAUSES THE EARLIER
PROBLEM*

pyplot.figtext(0.05,.5,"Depth
(m)",rotation='vertical',verticalalignment='center')
# Create a grid of axes with the AxesGrid helper class
my_grid = AxesGrid(DAP_figure, 111, # Only one grid in DAP_figure
                nrows_ncols = (3,1),

                axes_pad = 0.0, #pad between axes in inches
                aspect=False, #By default (False), widths and heigths of
axes in the grid are scaled independently. If True, they are scaled
according to their data limits
                add_all=True, # Add axes to figures if True (default True)
                share_all=False, # xaxis & yaxis of all axes are shared if
True (default False)

                label_mode = "L", # location of tick labels thaw will be
displayed. "1" (only the lower left axes), "L" (left most and bottom most
axes), or "all"
                cbar_location="right", # "right" or "top"
                cbar_mode="each", # "None","single", or "each"
                cbar_size="2%",
                cbar_pad="1%",
                )

for i,parameter in enumerate(z_dim):
    ax = my_grid[i].pcolor(x_grid,y_grid,z_dim[parameter])
    my_grid[i].set_ylabel(parameter) # Puts a y label on every graph.
Eventually we want this labeled only once.

    my_grid.cbar_axes[i].colorbar(ax)
    my_grid.cbar_axes[i].axis["right"].toggle(ticklabels=True,label=True)
    my_grid.cbar_axes[i].set_ylabel("units")
    my_grid[i].axis["bottom"].major_ticklabels.set_rotation(45) #
pyplot.show()
[image: p5R5J.png]

On Tue, Dec 8, 2009 at 7:39 PM, Jae-Joon Lee <lee.j.j...@gmail.com> wrote:

>
> Did you test the code in my previous post?
>
> If you want to get some help, you need to take your time to create a simple
> and complete example (which reproduces the problem) that others can easily
> test.
>
> Since I believe the problem is due to the existence of an extra axes, your
> example don't need to show any images. Please post a simple script that
> draws a blank AxesGrid and shows extra ticklabels as your current code does.
>
> Regards,
>
> -JJ
>
>
------------------------------------------------------------------------------
Return on Information:
Google Enterprise Search pays you back
Get the facts.
http://p.sf.net/sfu/google-dev2dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to