A perceptually uniform colormap generator for Matplotlib equipped with traditional-ish Japanese colors to serve as a fixed color palette.
Additions are welcome.
Why perceptually uniform colormaps? Can you not just use default Matplotlib colormaps?
- non-perceptually uniform colormaps induce dangerous artifacts, as seen in the below image:
. The left colormap introduces new features to the data.
- Matplotlib perceptually uniform colormaps are simply not visually appealing and sometimes lack enough contrast. With this package, anyone can design colormaps to fit their visual style.
dependencies:
- Python3:
-- colour-science
-- numpy -- logging
-- scipy
-- json
-- pynverse
-- matplotlib
tested on:
- Windows 10
- Linux
- Python 3.8, 3.10, 3.12
expected to work on:
- MacOS
- all Python >=3.6 (support available for >=3.8)
install:
pip3 install jpcm
or download source
run generator:
- to create your own colormaps
- as a package:
import jpcm
jpcm.register()
will register all default colormaps and any additional ones via the optionalcustom_maps
argument. Note any custom_maps should be of the following format (note the RGB key colors):
cmaps = { 'def' : [[0,0,0],[255,0,0]], }
- The optional
datafile
argument will cause jpcm to save all colormaps to that location as well.
- directly via code:
- edit maps.py with your preferred cmap styles, and run
python3 gen.py
orpython3 gen.py --readme
from/gen/
- edit maps.py with your preferred cmap styles, and run
- as a package:
load colormaps:
import jpcm
jpcm.open(<filename>)
will return a dictionary containing all the colormaps in the file at .- Note the file should be of the same type as the generated 'cmap.txt' from the generator