Skip to content

Colours

A colour is a 3-byte array of the form 0xRRGGBB. For example, full red would be 0xff0000. In general, wherever a colour is expected, either a pre-defined colour from this module can be used, or a custom 3-byte array.

Built-in named colours

Any colour from the list below can used used either by referencing the value directly (.gg.colour.Crimson), or by referring to it as a symbol (`crimson). If referring to the colour as a symbol, case does not matter.

Colour palettes

There are a number of built-in colour palettes available, as well as functions for generating gradients for use as colour scales.

See .gg.colour.brewer for a set of colour palettes which can be used to generate gradient or be used as categorical colour scales.

The default categorical colour scale uses the .gg.colour.cat10 colour palette, which provides 10 distinct colours. .gg.colour.cat20 is based on the same colours, but presented as dark-light pairs.

.gg.colour.brewer

Return the brewer palette for the given name and colour count. Each available palette comes in a number of sets defined by the number of colours returned. For example, for a 6-value palette from yellow to green, run .gg.colour.brewer[`YlGn;6]. All available brewer palettes and their set options are visible below.

Parameters:

Name Type Description
palette symbol palette name (see example below)
n long colour count (see example below)

Returns:

Type Description
byte[][] list of colours

.gg.colour.cat10

10 distinct colours. The colours are displayed below.

.gg.colour.cat20

20 distinct colours (10 colours in lightness pairs). The colours are displayed below.

.gg.colour.gradient

Given a range of numeric values, and a value within that range, return a colour corresponding to the colour along a gradient.

Parameters:

Name Type Description
values_ number[] | number scalar within the source range min and max
min_ number source range min
max_ number source range max
color1 byte[] low colour on the gradient
color2 byte[] high colour on the gradient

Returns:

Type Description
byte[] resulting colour along the gradient

Example:

 .gg.colour.gradient[til 5; 0; 10; .gg.colour.Red; .gg.colour.Blue]
 //=> 16711680 15073306 13369395 11731021 10027110i

.gg.colour.rgbFromHSL

Return an RGB colour (0xRRGGBB) from an HSL colour

Parameter:

Name Type Description
hsl float[]

Returns:

Type Description
byte[]

Example:

 0x0070cd ~ .gg.colour.rgbFromHSL .gg.colour.hsl 0x0070cd