Two colormaps named "spectral" #879

endolith opened this Issue May 18, 2012 · 13 comments


None yet
5 participants

endolith commented May 18, 2012

I'm trying to figure out where all the different colormaps came from and document their purpose, and I noticed that there is a spectral and also a Spectral, which are not the same thing:

spectral and Spectral

Maybe one should be renamed? Or kept for backwards compatibility and given an alias to differentiate them?


mdboom commented May 18, 2012

This is great work! Having a quick colormap reference page in the docs would be awesome. Thanks!

I agree the naming is too confusing, but it's too late in the day for me to come up with a better name for either. But I agree whatever we do that aliasing (and deprecating the old name) is a good idea.


jswhit commented May 18, 2012

I added the "Spectral" colormap a long time ago while adding all the colormaps from here:

DIdn't realize it had the same spelling as an existing colormap (or maybe the "spectral" colormap was added later?)

If anyone can suggest a better name I'll rename it (and leave an alias)


endolith commented May 18, 2012

Lowercase spectral was added later, all by itself, while uppercase Spectral is part of the ColorBrewer set, so I would think the lowercase one should be renamed, since it isn't part of a group it needs to be consistent with.

(spectral is the only non-MATLAB-copied map that gets its own function. Is there any rhyme or reason to which ones should get this?)


endolith commented May 19, 2012

Ok, I found it:

Originally from neuroimaging project, so rename spectral to nipy_spectral in the same way as gist_rainbow was copied from the GIST project? But then what should spectral() do?


efiring commented Aug 13, 2012

Closed after #921 merge

efiring closed this Aug 13, 2012


endolith commented Aug 17, 2012

Unless I'm really confused, this wasn't solved by #921. Was it changed in some other place?

efiring reopened this Aug 17, 2012


efiring commented Aug 17, 2012

You are right, it wasn't. Somehow I thought you had solved all colormap problems.

Suggested pull request for this one: as you suggest, make nipy_spectral an alias for spectral (or vice-versa). I think I would then leave the spectral() function--it isn't doing any harm, and it has probably been there for a while--and modify the docstring to note that it is using nipy_spectral.


endolith commented Aug 17, 2012

hmmm. so there will be

  • alias for, marked in the docstring as deprecated
  • spectral(): which is equivalent to set_cmap(

efiring commented Aug 18, 2012

Alternative suggestions are welcome, but we can't simply delete spectral() or cm.Spectral or cm.spectral.


endolith commented Aug 20, 2012

def spectral():

# This function was autogenerated by  Do not edit as
# changes will be lost

How do I edit the spectral function then?


efiring commented Aug 20, 2012

You would have to remove "spectral" from the list of cmaps in, manually add an equivalent function to, and re-run, which will propagate the first change into See the docstring.


endolith commented Aug 21, 2012

I left the spectral() function in the footnotes, since it was an oddball anyway, and recommended set_cmap('nipy_spectral') instead.


dmcdougall commented Mar 23, 2013

Sorted! #1127 has been merged.

dmcdougall closed this Mar 23, 2013

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment