On Fri, Nov 4, 2011 at 4:49 PM, Rahul Mahajan <aerora...@gmail.com> wrote:

> Hi,
> I am trying to put 1 colorbar on 2 subplots, but failing miserably.
>
> I have tried multiple approaches, involving subplot2grid, add_axes,
> AxesGrid etc.
>
> If anyone has a "canned" routine or knows what to do, your help is greatly
> appreciated.
>
> Here is my code block:
>
>   fig = pyplot.figure()
>
>     ax1 = pyplot.subplot2grid((2,2),(0,0))
>     cx1  = pyplot.contourf(x,y,var1,var_cint,origin='lower',extend='both')
>
>     ax2 = pyplot.subplot2grid((2,2),(0,1))
>     cx2  = pyplot.contourf(x,y,var2,var_cint,origin='lower',extend='both')
>
> Now I want to put 1 colorbar to these subplots.
>

This example seems to be a very simple example of what you want:
http://matplotlib.sourceforge.net/examples/pylab_examples/subplots_adjust.html

Basically, you need to create an axes specifically for the colorbar (e.g.
`colorbar_ax`) and call pyplot.colorbar(cax=colorbar_ax); or you can let
mpl automatically take space from one of your existing axes: for example,
pyplot.colorbar(ax=ax2).

You can also pass a mappable to pyplot.colorbar (in your example, cx1 or
cx2), but by default, it will grab the most recently created one. Note,
using the single colorbar for both subplots *only* makes sense if var_cint
(in your code) is defining the *values* of the contour levels (as opposed
to the *number* of contour levels). Otherwise, the colorbar will only be
accurate for one of the two plots.

HTH,
-Tony
------------------------------------------------------------------------------
RSA(R) Conference 2012
Save $700 by Nov 18
Register now
http://p.sf.net/sfu/rsa-sfdev2dev1
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to