Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP


Two colormaps named "spectral" #879

endolith opened this Issue · 13 comments

5 participants


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?


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.


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)


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?)


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?


Closed after #921 merge

@efiring efiring closed this

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

@efiring efiring reopened this

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.


hmmm. so there will be

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

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


def spectral():

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

How do I edit the spectral function then?


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.


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


Sorted! #1127 has been merged.

@dmcdougall dmcdougall closed this
@endolith endolith referenced this issue in scikit-image/scikit-image

DOC: change colormap to gray #1327

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.