But this example doesn't solve the problem I was thinking of: it shows  
lots of colors in the colorbar that aren't used in the plot.


&C



On Mar 30, 2010, at 6:52 AM, Friedrich Romstedt wrote:

> 2010/3/30 Ariel Rokem <aro...@berkeley.edu>:
>> I ended up with the code below, using Chloe's previously posted
>> 'subcolormap' and, in order to make the colorbar nicely attached to  
>> the main
>> imshow plot, I use make_axes_locatable in order to generate the  
>> colorbar
>> axes. I tried it out with a couple of use-cases and it seems to do  
>> what it
>> is supposed to, (with ticks only for the edges of the range of the  
>> data and
>> 0, if that is within that range), but I am not entirely sure. Do  
>> you think
>> it works?
>
> I think even Chloe would agree that you should avoid the subcolormap()
> if you can.  I tried to create an as minimalistic as possible but
> working self-contained example, please find the code also attached as
> .py file:
>
> from matplotlib import pyplot as plt
> import matplotlib as mpl
> from mpl_toolkits.axes_grid import make_axes_locatable
> import numpy as np
>
> fig = plt.figure()
> ax_im = fig.add_subplot(1, 1, 1)
> divider = make_axes_locatable(ax_im)
> ax_cb = divider.new_vertical(size = '20%', pad = 0.2, pack_start =  
> True)
> fig.add_axes(ax_cb)
>
> x = np.linspace(-5, 5, 101)
> y = x
> Z = np.sin(x*y[:,None]).clip(-1,1-0.1)
>
> # Leave out if you want:
> Z += 2
>
> min_val = Z.min()
> max_val = Z.max()
> bound = max(np.abs(Z.max()), np.abs(Z.min()))
>
> patch = ax_im.imshow(Z, origin = 'upper', interpolation = 'nearest',
>        vmin = -bound, vmax = bound)
>
> cb = fig.colorbar(patch, cax = ax_cb, orientation = 'horizontal',
>        norm = patch.norm,
>        boundaries = np.linspace(-bound, bound, 256),
>        ticks = [min_val, 0, max_val],
>        format = '%.2f')
>
> plt.show()
>
> Friedrich
> <cbar.py><cbar.png>


------------------------------------------------------------------------------
Download Intel&#174; Parallel Studio Eval
Try the new software tools for yourself. Speed compiling, find bugs
proactively, and fine-tune applications for parallel performance.
See why Intel Parallel Studio got high marks during beta.
http://p.sf.net/sfu/intel-sw-dev
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to