On 06/08/2011 01:28 AM, Daniel Mader wrote: > Dear Eric, > > thanks again for your comment, I am aware that the script contained > both the individual colorbars and the common one. My comment in the > code was because the placement on the figure is somewhat cramped:
That's what I suspected, so the main point of the modified version was using subplots_adjust to give more room at the bottom, and then shifting the bottom colorbar so that it was less cramped. Granted, this approach takes some fiddling; but if you are using subplots and care about appearance, then sooner or later you will probably benefit from subplots_adjust, a function/method which is probably not as well-known as it deserves to be. Eric > > ## doesn't really work :/ ## in what way? > cax = fig.add_axes([0.25, 0.06, 0.5, 0.02]) > fig.colorbar(im2, cax, orientation='horizontal') > > Ideally, I'd need to create a new subfig 313 with a much reduced height. > > Either way, you helped me a lot! > > > 2011/6/7 Eric Firing<efir...@hawaii.edu>: >> On 06/07/2011 01:37 AM, Daniel Mader wrote: >>> >>> Hi Eric, >>> >>> >>> 2011/6/6 Eric Firing<efir...@hawaii.edu>: >>>> >>>> It's not quite clear to me yet, but I assume you want to use a call to >>>> imshow with a different data set in the second subplot, but have the >>>> color scale and colorbar be identical to those in the first subplot. Is >>>> that correct? If so, all you need to do is use the same norm for both >>>> calls to imshow--that is, define a norm, set the limits you want on it, >>>> and supply it as a kwarg. >>> >>> thanks a lot, you helped me to work around my problem, see code below :) >>> >>>> Also, for this sort of comparison, sometimes it is more efficient to use >>>> a single colorbar for multiple panels, as in this example: >>>> >>>> >>>> >>>> http://matplotlib.sourceforge.net/examples/pylab_examples/multi_image.html >>> >>> Very nice example! It's a little too complex for me, though, with all >>> the calculations for the axes layout -- I prefer subplots :) However, >>> I think I have found a nice compromise: >> >> Attached is a slight modification, much simpler than the example above, but >> retaining the single colorbar. Alternatively, if you stick with the >> colorbar for each panel (which is sometimes clearer), it illustrates a >> slightly clearer way of handling the cmap and norm, explicitly using the >> same instance of each for both images. >> >> Eric >> >>> >>> import pylab >>> import matplotlib as mpl >>> >>> pylab.close('all') >>> >>> dat = pylab.array([[1,2,3,4],[5,6,7,8]]) >>> datT = dat/2 >>> >>> fig = pylab.figure() >>> >>> ax1 = fig.add_subplot(211) >>> ax1.set_title('raw data') >>> im1 = ax1.imshow(dat, interpolation='nearest', >>> cmap=mpl.cm.get_cmap('rainbow', 20)) >>> fig.colorbar(im1) >>> >>> ax2 = fig.add_subplot(212) >>> ax2.set_title('leveled') >>> im2 = ax2.imshow(datT, interpolation='nearest', >>> cmap=mpl.cm.get_cmap('rainbow', 20)) >>> ## apply norm: >>> norm = mpl.colors.Normalize(vmin=dat.min(), vmax=dat.max()) >>> im2.set_norm(norm) >>> fig.colorbar(im2) >>> >>> ## doesn't really work :/ >>> cax = fig.add_axes([0.25, 0.04, 0.5, 0.02]) >>> fig.colorbar(im2, cax, orientation='horizontal') >>> >>> pylab.show() >>> >>> Thanks a lot, >>> best regards, >>> >>> Daniel > > ------------------------------------------------------------------------------ > EditLive Enterprise is the world's most technically advanced content > authoring tool. Experience the power of Track Changes, Inline Image > Editing and ensure content is compliant with Accessibility Checking. > http://p.sf.net/sfu/ephox-dev2dev > _______________________________________________ > Matplotlib-users mailing list > Matplotlib-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/matplotlib-users ------------------------------------------------------------------------------ EditLive Enterprise is the world's most technically advanced content authoring tool. Experience the power of Track Changes, Inline Image Editing and ensure content is compliant with Accessibility Checking. http://p.sf.net/sfu/ephox-dev2dev _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users