From: Ryan N. <rya...@gm...> - 2009-12-02 19:18:44
|
Hello, I'm trying to use AxesGrid but I'm running into a problem: I can plot a single pcolor plot: [image: 58dFK.png] But when I try to use AxesGrid, my pcolor plot is ending up where I expect my colorbar to be. [image: mEbTA.png] I want to have up to 6 of these plots stacked vertically, sharing a common time axis and y (depth) scale. I'll try to simplify my code to show what I'm doing: # I have arrays x_grid and y_grid for time and water depth. # z_dim is a dictionary of arrays (one for each plot) # In the plot above it has two arrays. from matplotlib import pyplot nrows = len(z_dim) # Number of rows is the number of arrays My_figure = pyplot.figure(1,(8,8)) my_grid = AxesGrid(My_figure, 111, #Is this always 111? nrows_ncols = (nrows,1), # Always one column axes_pad = 0.1, add_all=True, share_all=True, # They all share the same time and depth scales label_mode = "L", cbar_location="right", cbar_mode="each", cbar_size="7%", cbar_pad="2%", ) for row_no,parameter in enumerate(z_dim): ax = my_grid[row_no] ax = pyplot.pcolor(x_grid,y_grid,z_dim[parameter]) pyplot.draw() pyplot.show() I eventually want to end up with something like this matlab output (which I didn't generate): [image: jiIaK.png] but without the duplication of x scales. I'm new to pyplot and even after reading the documentation much of this is baffling. -Ryan |