#color-scheme #color #gradient #graphics #no-alloc

no-std colorous

Professional color schemes ported from d3-scale-chromatic

14 stable releases

1.0.13 Mar 24, 2024
1.0.12 Jul 15, 2023
1.0.10 Mar 3, 2023
1.0.9 Dec 17, 2022
1.0.3 Jun 16, 2020

#7 in No standard library

Download history 748/week @ 2023-12-23 1091/week @ 2023-12-30 1735/week @ 2024-01-06 1218/week @ 2024-01-13 1292/week @ 2024-01-20 1327/week @ 2024-01-27 1494/week @ 2024-02-03 2308/week @ 2024-02-10 1806/week @ 2024-02-17 2005/week @ 2024-02-24 1904/week @ 2024-03-02 1849/week @ 2024-03-09 1824/week @ 2024-03-16 3046/week @ 2024-03-23 2027/week @ 2024-03-30 2855/week @ 2024-04-06

10,006 downloads per month
Used in 37 crates (16 directly)

Apache-2.0

82KB
1K SLoC

Colorous

github crates.io docs.rs build status

This crate provides a collection of sequential, diverging and categorical color schemes ported from d3-scale-chromatic. Each color scheme may be sampled using either a rational index i/n or a continuous float 0 ≤ t ≤ 1.

  • pub fn eval_rational(&self, i: usize, n: usize) -> Color
  • pub fn eval_continuous(&self, t: f64) -> Color
viridis

Example

let gradient = colorous::VIRIDIS;
for i in 0..100 {
    println!("{:x}", gradient.eval_rational(i, 100));
}

Sequential (multi-hue)

# colorous::TURBO

turbo

The “turbo” color scheme by Anton Mikhailov.

# colorous::VIRIDIS

viridis

The “viridis” perceptually-uniform color scheme designed by van der Walt, Smith and Firing for matplotlib.

# colorous::INFERNO

inferno

The “inferno” perceptually-uniform color scheme designed by van der Walt and Smith for matplotlib.

# colorous::MAGMA

magma

The “magma” perceptually-uniform color scheme designed by van der Walt and Smith for matplotlib.

# colorous::PLASMA

plasma

The “plasma” perceptually-uniform color scheme designed by van der Walt and Smith for matplotlib.

# colorous::CIVIDIS

cividis

The “cividis” color vision deficiency-optimized color scheme designed by Nuñez, Anderton, and Renslow.

# colorous::WARM

warm

A 180° rotation of Niccoli’s perceptual rainbow.

# colorous::COOL

cool

Niccoli’s perceptual rainbow.

# colorous::CUBEHELIX

cubehelix

Green’s default Cubehelix.

# colorous::BLUE_GREEN

BuGn

# colorous::BLUE_PURPLE

BuPu

# colorous::GREEN_BLUE

GnBu

# colorous::ORANGE_RED

OrRd

# colorous::PURPLE_BLUE_GREEN

PuBuGn

# colorous::PURPLE_BLUE

PuBu

# colorous::PURPLE_RED

PuRd

# colorous::RED_PURPLE

RdPu

# colorous::YELLOW_GREEN_BLUE

YlGnBu

# colorous::YELLOW_GREEN

YlGn

# colorous::YELLOW_ORANGE_BROWN

YlOrBr

# colorous::YELLOW_ORANGE_RED

YlOrRd

Sequential (single-hue)

# colorous::BLUES

Blues

# colorous::GREENS

Greens

# colorous::GREYS

Greys

# colorous::ORANGES

Oranges

# colorous::PURPLES

Purples

# colorous::REDS

Reds

Diverging

# colorous::BROWN_GREEN

BrBG

# colorous::PURPLE_GREEN

PRGn

# colorous::PINK_GREEN

PiYG

# colorous::PURPLE_ORANGE

PuOr

# colorous::RED_BLUE

RdBu

# colorous::RED_GREY

RdGy

# colorous::RED_YELLOW_BLUE

RdYlBu

# colorous::RED_YELLOW_GREEN

RdYlGn

# colorous::SPECTRAL

Spectral

Cyclical

# colorous::RAINBOW

rainbow

The cyclical less-angry rainbow color scheme.

# colorous::SINEBOW

sinebow

The “sinebow” color scheme by Jim Bumgardner and Charlie Loyd.


Categorical

Categorical color schemes are exposed simply as an array [Color; N].

# colorous::CATEGORY10

category10

# colorous::ACCENT

Accent

# colorous::DARK2

Dark2

# colorous::PAIRED

Paired

# colorous::PASTEL1

Pastel1

# colorous::PASTEL2

Pastel2

# colorous::SET1

Set1

# colorous::SET2

Set2

# colorous::SET3

Set3

# colorous::TABLEAU10

Tableau10

Ten categorical colors authored by Tableau as part of Tableau 10.


License

Licensed under the Apache License, Version 2.0.

No runtime deps