Introduction to ColorSchemes

This package provides a collection of colorschemes:

  • scientifically devised colorschemes from ColorBrewer, CMOcean, ScientificColorMaps, ColorCet, and Seaborn
  • popular favourites such as viridis, inferno, and magma from MATPlotLib
  • variously themed colorschemes such as sunset, coffee, neon, and pearl
  • artistic colorschemes, such as leonardo, vermeer, picasso, Degas, Hiroshige,

Note that the schemes contained here are a mixture:

  • some are high quality color maps with consistent perceptual contrast over their full range
  • others are designed for general purpose and informal graphics work

Choose colorschemes with care! See the Good practice section, and also refer to Peter Kovesi's PerceptualColourMaps package, or to Fabio Crameri's Scientific Colour Maps for technical information.

This package relies on the Colors.jl package.

If you want to make more advanced ColorSchemes, use linear-segment dictionaries or indexed lists, and use functions to generate color values, see the make_colorscheme() function in the ColorSchemeTools.jl package.

Installation and basic usage

Install the package as follows:

import Pkg

or, at the REPL:

] add ColorSchemes


using ColorSchemes

# => a ColorScheme 

# => a ColorScheme 

# => array of five RGB colors

# => the third color in the colorscheme

get(ColorSchemes.Purples_5, 0.5)
# => the midway point of the colorscheme 

# => Dict{Symbol, ColorScheme} with 1150 entries

# => display list of matching schemes

Original version by cormullion.

Contributing a new colorscheme

If you think a new colorscheme would be a great addition for you and for Julians everywhere, you can contribute it as follows:

1 Add a file to the data/ directory. The file should be a Julia file, with a .jl suffix.

2 Inside the file, define a colorscheme in this format:

loadcolorscheme(:mynewcolorscheme, [
    RGB(0.0, 0.0, 0.0),
    RGB(0.5, 0.5, 0.5),
    RGB(1.0, 1.0, 1.0),
    "my new schemes", # the category
    "black, white, and grey" # some descriptive keywords

The new name - here mynewcolorscheme - should be a valid Julia variable name.

3 If you're adding the new colorscheme to an existing category, it will appear in the catalog document automatically.

4 Otherwise, to add a new category to the catalog (which will add all the colorschemes in that category), add this code to

    ```@example catalog
    using Luxor, ColorSchemes # hide
    ColorSchemeCategory("all_my_new_colorschemes") # hide

5 If there's a license file, add it to data/ as well.


This documentation was built using Documenter.jl.

Documentation built 2023-09-21T09:14:46.708 with Julia 1.9.3