Overview

The color system has one rule: the name is a family, and n picks the form. Use the same family name as a token, a discrete list, or a colormap depending on the matplotlib surface you are filling.

you want to

you write

catalog

color one thing

color="dc.blue6"

Colors

color N series

dm.set_colors("vivid") / dm.colors("vivid", n=6)

Palettes

color a field

cmap="dc.aurora"

Colormaps

build your own

dm.color(), dm.oklch(), dm.cspace()

Color class

The catalog has five kinds: sequential, multi-hue, diverging, cyclic, and qualitative. Most families have a continuous form for cmap= and a designed discrete form for dm.colors(name, n=...); qualitative families are discrete sets that also register as qualitative colormaps. dm.list_colors() returns the 56 family records that make those forms explicit.

Colors

Static token sheets for color="...": the generated dc.* ramps, semantic aliases, and the six bundled third-party design systems.

Colors
Palettes

Discrete forms for series color: Octave, curated qualitative sets, family samples, and diverging/sequential lists through dm.set_colors() and dm.colors(name, n=...).

Palettes
Colormaps

43 perceptually-designed colormaps for cmap=, plus qualitative colormaps for class data and _r reverses for direction control.

Colormaps
Color class

The programmatic color engine: construct, convert, modify, interpolate, and register custom colormaps in OKLab / OKLCH.

Color class
Fonts

20 publication-ready fonts (262 files across 22 file groups), auto-registered with matplotlib and wired into the style presets.

Fonts
Design rationale

The evidence page for the design system: perceptual color theory today, with typography rationale reserved for the fonts overhaul.

Design rationale