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


On Tue, Dec 8, 2009 at 3:10 PM, Ryan Neve <ryan.n...@gmail.com> wrote:

> Sorry for the delay.
> I don't know if I ever included my software versions:
> Python & IDLE 2.6.2
> matplotlib 0.99.0
> numpy 1.4.0rc1 (I was using 1.3.0)
> Here is more complete code. This is the only place I use matplotlib for
> anything so I don't think any earlier code should affect the plot.
> I've included the values of the input variables below and I could include
> all the code which gets the data and manipulates it if this would help.
>
> def plotGrid(x_dim,y_dim,z_dim,long_name,units,contours=16):
>     """
>     This will create a frame for all the sub plots. There will be one row
> (subplot) per parameter. There will be one column.
>     All plots will share their x scale (time)
>     Each row will have its own y scale and legend
>
>     """
>     from matplotlib import pyplot
>     from mpl_toolkits.axes_grid import AxesGrid
>     from numpy import meshgrid, transpose
>
>     nrows = len(z_dim) # Number of rows
>     print('there are',nrows,'rows') # Confirm that the number of rows is
> as expected.
>     fig_h_size = 20. # figure width in inches
>     fig_v_size = 8. # figure height in inches
>     dev_mult = 3 # How many standard deviations to mask out.
>     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,(fig_h_size,fig_v_size))
>     pyplot.title('Title goes here')
>
>     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 = (nrows,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=True, # 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):
>         z_dim[parameter] = maskDAP(z_dim[parameter],parameter,dev_mult)
> #Need to mask each grid
>
>         ax = my_grid[i].pcolor(x_grid,y_grid,z_dim[parameter])
>         print('from',x_grid[0][0],'to',x_grid[-1][0])
>         my_grid[i].set_ylabel(long_name[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[parameter])
>
>     # Now show it
>     pyplot.draw()
>     pyplot.show()
>     return x_grid, y_grid, my_grid #Useful only for debugging. There is no
> code after this.
>
> Here are some typical values for the inpit variables if it helps,
>
> x_dim, time in epoch seconds, is:
> array([1253250000, 1253251800, 1253253600, 1253255400, 1253257200,
>        1253259000, 1253260800, 1253262600, 1253264400, 1253266200,
>        1253268000, 1253269800, 1253271600, 1253273400, 1253275200,
>        1253277000, 1253278800, 1253280600, 1253282400, 1253284200,
>        1253286000, 1253287800, 1253289600, 1253291400, 1253293200,
>        1253295000, 1253296800, 1253298600, 1253300400, 1253302200,
>        1253304000, 1253305800, 1253307600, 1253309400, 1253311200,
>        1253313000, 1253314800, 1253316600, 1253318400, 1253320200,
>        1253322000, 1253323800, 1253325600, 1253327400, 1253329200,
>        1253331000, 1253332800])
> y_dim, water depths in meters, is:
> array([ 0. , -0.1, -0.2, -0.3, -0.4, -0.5, -0.6, -0.7, -0.8, -0.9, -1. ,
>        -1.1, -1.2, -1.3, -1.4, -1.5, -1.6, -1.7, -1.8, -1.9, -2. , -2.1,
>        -2.2, -2.3, -2.4, -2.5, -2.6, -2.7])
> in the example plot below z_dim is a dictionary with three arrays,
> 'do','chl','turb'.
> as an example, z_dim['chl'] (chlorophyl) is a 2D array of the form:
> masked_array(data =
>  [[-- 14.8400002718 14.8400002718 ..., 13.1000023892 -- --]
>  [-- 15.0 15.0 ..., -- -- --]
>  [-- 13.1241378212 13.1241378212 ..., -- -- --]
>  ...,
>  [-- 12.081481385 12.081481385 ..., 10.3037038589 -- --]
>  [-- 11.0882356451 11.0882356451 ..., 9.95714437393 -- --]
>  [-- 13.4448273754 13.4448273754 ..., -- -- --]],
>              mask =
>  [[ True False False ..., False  True  True]
>  [ True False False ...,  True  True  True]
>  [ True False False ...,  True  True  True]
>  ...,
>  [ True False False ..., False  True  True]
>  [ True False False ..., False  True  True]
>  [ True False False ...,  True  True  True]],
>        fill_value = 1e+20)
>
> Here's the plot as it stands now:
> [image: fgpXr.png]
>
> Thank you again for your time.
>
>
> On Fri, Dec 4, 2009 at 4:07 PM, Jae-Joon Lee <lee.j.j...@gmail.com> wrote:
>
>>
>> Please, "more" complete example does not make any difference unless it is
>> complete.
>>
>
>
>
------------------------------------------------------------------------------
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