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

Reply via email to