Hi Friedrich,
Thanks a lot - very nice!
Cheers - Ariel
On Tue, Mar 30, 2010 at 6:52 AM, Friedrich Romstedt <
friedrichromst...@gmail.com> 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
>
--
Ariel Rokem
Helen Wills Neuroscience Institute
University of California, Berkeley
http://argentum.ucbso.berkeley.edu/ariel
------------------------------------------------------------------------------
Download Intel® 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