The CMasher package provides a collection of scientific colormaps and utility functions to be used by different Python packages and projects, mainly in combination with matplotlib (see here for an overview of all their colormaps as of v3.1.0). The colormaps in CMasher are all designed to be perceptually uniform sequential using the viscm package; most of them are color-vision deficiency (CVD; color blindness) friendly; and they cover a wide range of different color combinations to accommodate for most applications. It offers several alternatives to commonly used colormaps, like chroma and rainforest for jet; sunburst for hot; neutral for binary; and fusion and redshift for coolwarm. If you cannot find your ideal colormap, then please open an issue, provide the colors and/or style you want, and I will try to create one to your liking!
If you use CMasher for your work, then please star the repo, such that I can keep track of how many users it has and more easily raise awareness of bad colormaps.
Additionally, if you use CMasher as part of your workflow in a scientific publication, please consider citing the CMasher paper (BibTeX:
Below is an overview of all the colormaps that are currently in CMasher (made with the
How to install¶
CMasher can be easily installed directly from PyPI with:
$ pip install cmasher
or from conda-forge with:
$ conda install -c conda-forge cmasher # If conda-forge is not set up as a channel $ conda install cmasher # If conda-forge is set up as a channel
If required, one can also clone the repository and install CMasher manually:
$ git clone https://github.com/1313e/CMasher $ cd CMasher $ pip install .
CMasher can now be imported as a package with
import cmasher as cmr.
The colormaps shown above can be accessed by simply importing CMasher.
This makes them available in the
cmasher module, in addition to registering them in matplotlib’s
cm module (with added
'cmr.' prefix to avoid name clashes).
So, for example, if one were to use the rainforest colormap, this could be done with:
# Import CMasher to register colormaps import cmasher as cmr # Import packages for plotting import matplotlib.pyplot as plt import numpy as np # Access rainforest colormap through CMasher or MPL cmap = cmr.rainforest # CMasher cmap = plt.get_cmap('cmr.rainforest') # MPL # Generate some data to plot x = np.random.rand(100) y = np.random.rand(100) z = x**2+y**2 # Make scatter plot of data with colormap plt.scatter(x, y, c=z, cmap=cmap, s=300) plt.show()
See Usage for more use-cases.