Roseus
Perceptually uniform colormaps with full range of lightness.
Install / Use
/learn @dofuuz/RoseusREADME
Roseus colormap family
Perceptually uniform colormaps with full range of lightness.
- Homepage: https://github.com/dofuuz/roseus
- PyPI: https://pypi.org/project/roseus/
Preview



Installation
pip install roseus
If installation fails, upgrade pip with python -m pip install --upgrade pip and try again.
Usage
To use with matplotlib, import roseus.mpl.
import matplotlib.pyplot as plt
import roseus.mpl as rs
plt.imshow(x, cmap=rs.arcus)
# or
plt.imshow(x, cmap='rs.arcus')
To prevent confusion in namespace, prefix rs. is added. (ex. rs.arcus, rs.b, rs.gr, ...)
For other applications, use rgb_data like from roseus.cmap.cyanus import rgb_data.
Motivation
All colormaps of the Roseus family has (almost) full range of lightness. They have excellent contrast which visualize data more clearly.
Roseus was developed for Audacity spectrogram. More perceptually uniform colormaps are added and aim to be used in a wider range of fields.
Further readings about perceptually uniform colormaps:
https://bids.github.io/colormap/
https://cran.r-project.org/web/packages/viridis/vignettes/intro-to-viridis.html
Look into the colormaps
To plot measures of a colormap in Roseus family,
pip install "roseus[generate]"
install additional dependency. Then,
from roseus.util import plot_measures
plot_measures('roseus')

Note: viscm used in measurements has been modified to target CAM16-UCS instead of CAM02-UCS.

All colormaps has symmetric and smooth chroma, hue transition.
Changelog
v2.0
- Added more colormaps (r, b, cyanus, rbg, arcus, gr, rg, lavendula)
- Packed into Python package
v1.0
- The colormap is named 'Roseus'. (inspiration from Viridis)
- It was perceptually smooth, but wasn't perceptually uniform. Now it is.
- Roseus now targets CAM16-UCS color space instead of the obsolute CAM02-UCS.
v0.1
- First release for Audacity spectrogram.
OSS libraries used
viscm (MIT)
A tool for analyzing colormaps and creating new colormaps.
https://github.com/matplotlib/viscm
viscm is not used for generating the Roseus family. It's modified to target CAM16-UCS and included for analysis.
Related Skills
node-connect
349.7kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
109.7kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
349.7kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
qqbot-media
349.7kQQBot 富媒体收发能力。使用 <qqmedia> 标签,系统根据文件扩展名自动识别类型(图片/语音/视频/文件)。
