Evan, OK, I see what the problem is: you need to tell the second contour command to use the same contour levels as the first one is using. Something like this:
figure(1) CS1 = contourf(x) clim(cmin, cmax) colorbar() figure(2) CS2 = contourf(y, levels=CS1.levels) clim(cmin, cmax) colorbar() Does this give the desired result? The big difference between pcolor and contourf in this context is that pcolor is automatically generating a colormap with 256 colors, and may use any or all of those colors, so the colorbar is effectively continuous. Contourf works with a small discrete set of colors taken from such a colormap, so colorbar shows the same discrete set. The boundaries are either generated automatically in contourf, or set via the levels kwarg. Colorbar gets the boundaries from the output of the contourf call, which pylab saves and passes along to colorbar even if you don't do so explicitly yourself. But pylab has no way of knowing that you want the contour levels in the second figure to match the first, so you have to be explicit. Usually at this point someone chimes in to point out the virtues of being explicit in your program even when you don't have to... Eric Evan Mason wrote: > Hi Eric, the following lines below will show this. Interestingly, the > correct (or, at least, what I want) behaviour results from using pcolor, > but not with contourf. > > > a = arange(12, 27, .5) > b = arange(17, 23, .5) > x, y = meshgrid(a, b) > > # get max and min for clim > cmin = min(x.min(), y.min()) # cmin = 12 > cmax = max(x.max(), y.max()) # cmax = 26.5 > > figure(1) > contourf(x) > #pcolor(x) > clim([cmin, cmax]) > colorbar() > figure(2) > contourf(y) > #pcolor(y) > clim([cmin, cmax]) > colorbar() > > > -Evan > > > > > On 3/27/07, *Eric Firing* < [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]>> wrote: > > Evan, > > That is getting clearer, but it still seems to me that no override > should be needed in this case; it should "just work", so if it doesn't, > either there is a bug in mpl or a bug in the code. It would be most > helpful if you would write a stripped-down simplest-possible script > that > illustrates the problem. Then I can either show how to fix the script, > or I can use the script to help me track down the mpl bug, if that is > the problem. > > Eric > > Evan Mason wrote: > > Hi Eric > > > > I am using matplotlib-0.90.0. > > > > I am making 2 contourf subplots of temperature values which have > similar > > but not equal ranges. In subplot1 the range is 15-25; in > subplot2 it is > > 16 to 24. I use clim, giving it the max and min values obtained > from a > > comparison of subplot1 and 2; i.e., I use clim([15, 25]) on both > > subplots. The two subplots display exactly as I want them to. > > > > Next, I want 2 colorbars to go with the two subplots. I want the > range > > of each colorbar to be the same, set as the clim values (15 and 25). > > This happens for subplot1, but not for subplot2, which shows the > range > > 16-24, following its input data range and not the clim values. > > > > So what I want to know is if it is possible to overide the colorbar > > limits, setting them to 15-25? > > > > I hope that's clearer now, thanks, Evan > > > > > > > > On 3/27/07, * Eric Firing* < [EMAIL PROTECTED] > <mailto:[EMAIL PROTECTED]> > > <mailto:[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>>> wrote: > > > > Evan, > > > > It is still not quite clear to me what you want versus what > you are > > getting. With recent versions of mpl, the colorbar > automatically uses > > the same color boundaries as contourf, if that is what the > colorbar is > > tracking. What version of mpl are you using? > > > > (With the most recent mpl I see that there is a strange bug > such that > > setting clim clobbers the axis tick labeling for the > colorbar--yet > > another thing that needs to be figured out and fixed.) > > > > > > ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ Matplotlib-users mailing list Matplotlib-users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/matplotlib-users