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