Got it now.  Sorry about the confusion...by working for me I meant that  set of 
commands ran and made the standard colorbar.

I just installed ipython (Ubuntu OS).  Will try the interactive way as well.  
All very new.  I've used PGPLOT for ~15 years.  

Thanks again.
Mike

--- On Wed, 1/5/11, Paul Ivanov <pivanov...@gmail.com> wrote:

> From: Paul Ivanov <pivanov...@gmail.com>
> Subject: Re: [Matplotlib-users] defining a custom RGB colormap
> To: matplotlib-users@lists.sourceforge.net
> Date: Wednesday, January 5, 2011, 7:15 PM
> Michael Rawlins, on 2011-01-05
> 14:42,  wrote:
> > Thanks for the detailed tutorial. I'm getting errors
> when I
> > attempt to use plt.subplots(1,1) and the newcm
> assignment.
> > 
> > Traceback (most recent call last):
> >   File "colorbar_Mytest2.py", line 17,
> in <module>
> >     f, ax = plt.subplots(1,1)
> > AttributeError: 'module' object has no attribute
> 'subplots'
> 
> Ah, you must be using an older version of matplotlib -
> subplots
> is a (recently added) convenience shortcut for:
> 
>   f = plt.figure()
>   ax = plt.subplot(1,1,1)
> 
> It comes in handy when you're making lots of subplots by
> letting
> you do it with one call, instead of doing that one by one
> (as I
> have rewritten below, so you could run without having to
> upgrade
> your matplotlib.
> 
> > Also, what does In and Out do, as in Out[68]:
> 0.34999?
> 
> That's just the prompts from IPython - I *highly* recommend
> using
> IPython in place of the default python shell for
> interactive usage. 
> In[10] is what I typed,  Out[10] is the result of my
> command at
> In[10].
> 
> > Here are just a few of the errors I'm getting when
> executing
> > colorbar command with newcm. 
> 
> > Here's a simplified version that works for me:
> 
> ouch! this code doesn't do quite what you want
> 
> > from pylab import *
> 
> Try to avoid doing this - because you will get unintended
> consequences such as the one on the following line.
>  
> > vals = norm(np.linspace(14,40,1000))
> 
> This was meant to go *after* you initialize the 'norm'
> variable
> with norm = mpl.colors.Normalize(...). That's the norm I
> meant to be using. But because of the "from pylab import *"
> line,
> the norm function from numpy was imported - which is what
> was being
> used on that line as written in your code. 
> 
> so the vals=  line is equivalent to
> 
>   vals = numpy.norm(np.linspace(14,40,1000))
> 
> which meant vals got assigned the value 886.25397758173483,
> and
> not at all what we wanted. We wanted it to get an array of
> 1000
> numbers:
> 
>   vals = mpl.colors.Normalize(vmin=0,
> vmax=40)(np.linspace(14,40,1000))
> 
> That's where your trouble with newcm were coming from.
> Here's the
> complete example again, I've renamed the 'norm' variable
> to
> 'rawlins_norm' for clarity.
> 
> import matplotlib as mpl
> import matplotlib.pyplot as plt
> from matplotlib import cm 
> import numpy as np
> 
> # Make a figure and axes with dimensions as desired.
> fig = plt.figure(figsize=(8,3))
> ax1 = plt.subplot(2,1,1)
> ax2 = plt.subplot(2,1,2)
> 
> # Set the colormap and norm to correspond to the data for
> which
> # the colorbar will be used.
> rawlins_norm = mpl.colors.Normalize(vmin=0,
> vmax=40)   # here set colorbar min/max
> # the right place for vals
> vals = rawlins_norm(np.linspace(14,40,1000))
> newcm = cm.colors.ListedColormap(cm.hot_r(vals))
> 
> cb1 = mpl.colorbar.ColorbarBase(ax1, cmap=cm.hot_r,
>                
>                
>      norm=rawlins_norm,
>                
>                
>      orientation='horizontal')
> 
> cb1.set_label('"percent"')
> cb2 = mpl.colorbar.ColorbarBase(ax2, cmap=newcm,
>                
>                
>      orientation='horizontal')
> 
> cb2.set_label("colormap interval 0.0-1.0")
> plt.subplots_adjust(hspace=.7, bottom=.2)
> 
> #comment out the next line to see the original (0-40
> colormap)
> ax1.set_xlim(rawlins_norm((14,40)))
> plt.show()
> 
> 
> best,
> -- 
> Paul Ivanov
> 314 address only used for lists,  off-list direct
> email at:
> http://pirsquared.org | GPG/PGP key id: 0x0F3E28F7 
> 
> -----Inline Attachment Follows-----
> 
> ------------------------------------------------------------------------------
> Learn how Oracle Real Application Clusters (RAC) One Node
> allows customers
> to consolidate database storage, standardize their database
> environment, and, 
> should the need arise, upgrade to a full multi-node Oracle
> RAC database 
> without downtime or disruption
> http://p.sf.net/sfu/oracle-sfdevnl
> -----Inline Attachment Follows-----
> 
> _______________________________________________
> Matplotlib-users mailing list
> Matplotlib-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/matplotlib-users
> 


      

------------------------------------------------------------------------------
Learn how Oracle Real Application Clusters (RAC) One Node allows customers
to consolidate database storage, standardize their database environment, and, 
should the need arise, upgrade to a full multi-node Oracle RAC database 
without downtime or disruption
http://p.sf.net/sfu/oracle-sfdevnl
_______________________________________________
Matplotlib-users mailing list
Matplotlib-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/matplotlib-users

Reply via email to