File: diverging.md | Updated: 11/15/2025
Return to top
Diverging schemes
=======================================================================================
Diverging color schemes are available as continuous interpolators (often used with d3.scaleSequential ) and as discrete schemes (often used with d3.scaleOrdinal ).
Each discrete scheme, such as d3.schemeBrBG
, is represented as an array of arrays of hexadecimal color strings. The _k_th element of this array contains the color scheme of size k; for example, d3.schemeBrBG[9] contains an array of nine strings representing the nine colors of the brown-blue-green diverging color scheme. Diverging color schemes support a size k ranging from 3 to 11.
To create a diverging continuous color scale using the PiYG color scheme:
js
const color = d3.scaleSequential(d3.interpolatePiYG);
To create a diverging discrete nine-color scale using the PiYG color scheme:
js
const color = d3.scaleOrdinal(d3.schemePiYG[9]);
interpolateBrBG(t)
Source · Given a number t in the range [0,1], returns the corresponding color from the “BrBG” diverging color scheme represented as an RGB string.
interpolatePRGn(t)
Source · Given a number t in the range [0,1], returns the corresponding color from the “PRGn” diverging color scheme represented as an RGB string.
interpolatePiYG(t)
Source · Given a number t in the range [0,1], returns the corresponding color from the “PiYG” diverging color scheme represented as an RGB string.
interpolatePuOr(t)
Source · Given a number t in the range [0,1], returns the corresponding color from the “PuOr” diverging color scheme represented as an RGB string.
interpolateRdBu(t)
Source · Given a number t in the range [0,1], returns the corresponding color from the “RdBu” diverging color scheme represented as an RGB string.
interpolateRdGy(t)
Source · Given a number t in the range [0,1], returns the corresponding color from the “RdGy” diverging color scheme represented as an RGB string.
interpolateRdYlBu(t)
Source · Given a number t in the range [0,1], returns the corresponding color from the “RdYlBu” diverging color scheme represented as an RGB string.
interpolateRdYlGn(t)
Source · Given a number t in the range [0,1], returns the corresponding color from the “RdYlGn” diverging color scheme represented as an RGB string.
interpolateSpectral(t)
Source · Given a number t in the range [0,1], returns the corresponding color from the “Spectral” diverging color scheme represented as an RGB string.
schemeBrBG[k]
Source · The “BrBG” discrete diverging color scheme of size k in 3–11.
schemePRGn[k]
Source · The “PRGn” discrete diverging color scheme of size k in 3–11.
schemePiYG[k]
Source · The “PiYG” discrete diverging color scheme of size k in 3–11.
schemePuOr[k]
Source · The “PuOr” discrete diverging color scheme of size k in 3–11.
schemeRdBu[k]
Source · The “RdBu” discrete diverging color scheme of size k in 3–11.
schemeRdGy[k]
Source · The “RdGy” discrete diverging color scheme of size k in 3–11.
schemeRdYlBu[k]
Source · The “RdYlBu” discrete diverging color scheme of size k in 3–11.
schemeRdYlGn[k]
Source · The “RdYlGn” discrete diverging color scheme of size k in 3–11.
schemeSpectral[k]
Source · The “Spectral” discrete diverging color scheme of size k in 3–11.