On 2014/12/12, 5:11 AM, Slavin, Jonathan wrote: > Hi Ben, > > Thanks for those tips. I ended up giving a list of axes to the ax > argument of colorbar as you suggested. That took care of the > misalignment of the top plots and bottom plots but then the colorbar > extended the full vertical height of both rows of axes. Fiddling with > the shrink and anchor parameter values then got me what I wanted. I'm > sure that axis_grid1 could work as well, but my situation is > sufficiently complicated that I don't want to spend the time fiddling > with it at this point.
For the record, another way to handle this situation is to use subplot parameters to leave adequate room on the right, then use the Axes.add_axes() method to make an Axes for the colorbar, and provide it as a cax kwarg. Eric > > Regards, > Jon > > On Thu, Dec 11, 2014 at 2:30 PM, Benjamin Root <ben.r...@ou.edu > <mailto:ben.r...@ou.edu>> wrote: > > If you have matplotlib v1.3 (maybe 1.2, I can't remember), you can > pass a list of axes to the "ax" argument of colorbar, and it should > steal space equally from all the specified axes. > > I am also particularly fond of using the mpl_toolkit axis_grid1, > which provides you a nice way to preallocate space for colorbars in > different ways: > > http://matplotlib.org/mpl_toolkits/axes_grid/users/overview.html?highlight=axes_grid1#axes-grid1 > > I hope that helps! > Ben Root > > > On Thu, Dec 11, 2014 at 1:49 PM, Slavin, Jonathan > <jsla...@cfa.harvard.edu <mailto:jsla...@cfa.harvard.edu>> wrote: > > Hi, > > I'm trying to make a plot with four panes (2x2). The two on top > are images, created with pcolormesh, while the ones on the > bottom are line plots. I'd like to the axes to line up -- which > they do -- but when I add a colorbar to the top right, it steals > space from the image plot. I only need one colorbar since the > two images are forced to have the same scaling. Can anyone tell > me how to insert the colorbar on the top right without it taking > space from the top right image -- or force the space to be taken > from the horizontal space of all the plots so the shapes are > uniform? I've tried several approaches including using > make_axes_locatable from mpl_toolkits.axes_grid1 with no > success. I must admit that I don't really understand what > make_axes_locatable does, so it may be entirely the wrong thing > to use. On the other hand, not using it, i.e. just using > plt.colorbar or fig.colorbar seems to do essentially the same > thing, steal space from the axes. The basics of the plot are > like this: > > x = np.arange(20.) > xc = (x[:-1] + x[1:])/2. > y = np.arange(15.) > xx,yy = np.meshgrid(x,y) > z1 = np.random.randn(14,19) > z2 = np.random.randn(14,19) > > fig,ax = plt.subplots(2,2) > pc = ax[0,0].pcolormesh(x,y,z1) > ax[1,0].plot(xc,z1[0,:]) > ax[0,1].pcolormesh(x,y,z2) > ax[1,1].plot(xc,z2[0,:]) > cb = plt.colorbar(pc, ax=ax[0,1]) > plt.show() > > Any help would be appreciated. > > Regards, > Jon > -- > ________________________________________________________ > Jonathan D. Slavin Harvard-Smithsonian CfA > jsla...@cfa.harvard.edu <mailto:jsla...@cfa.harvard.edu> > 60 Garden Street, MS 83 > phone: (617) 496-7981 <tel:%28617%29%20496-7981> > Cambridge, MA 02138-1516 > fax: (617) 496-7577 <tel:%28617%29%20496-7577> USA > ________________________________________________________ > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and > Dashboards > with Interactivity, Sharing, Native Excel Exports, App > Integration & more > Get technology previously reserved for billion-dollar > corporations, FREE > > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > <mailto:Matplotlib-users@lists.sourceforge.net> > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > > > > -- > ________________________________________________________ > Jonathan D. Slavin Harvard-Smithsonian CfA > jsla...@cfa.harvard.edu <mailto:jsla...@cfa.harvard.edu> 60 Garden > Street, MS 83 > phone: (617) 496-7981 Cambridge, MA 02138-1516 > fax: (617) 496-7577 USA > ________________________________________________________ > > > > ------------------------------------------------------------------------------ > Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server > from Actuate! Instantly Supercharge Your Business Reports and Dashboards > with Interactivity, Sharing, Native Excel Exports, App Integration & more > Get technology previously reserved for billion-dollar corporations, FREE > http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk > > > > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users > ------------------------------------------------------------------------------ Download BIRT iHub F-Type - The Free Enterprise-Grade BIRT Server from Actuate! Instantly Supercharge Your Business Reports and Dashboards with Interactivity, Sharing, Native Excel Exports, App Integration & more Get technology previously reserved for billion-dollar corporations, FREE http://pubads.g.doubleclick.net/gampad/clk?id=164703151&iu=/4140/ostg.clktrk _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users