This module generates flame gradients like this one:
...going from dark almost-black red to bright almost-white yellow.
Get one rgb value for a specific decimal value:
const flameGradient =const rgb = // returns 'rgb(255, 150, 1)'const rgba = // returns 'rgba('255, 150, 1, 0.5)'
Generate an entire gradient:
const generate =const arrayOf1000Rgbs =console
View a gradient with a set number of points in a new browser window:
# Defaults to 1000 slicesnpm run view# Set a number of slicesnpm run view -- 15
These have been tested to have a good balance of vibrant colour and smooth progression in brightness, such that higher values appear brighter to a consistent amount, including in monohrome and across different types of colour vision deficiency (CVD). This is done by incrementing the R, G and B channels in slightly overlapping sine curves, each slightly stretched based on an approximation of that channel's relative luminosity.
As such they should be usable as colour scales in visualisations.
Examples using CoBlIs:
Blue cone monochromacy
Sponsored by nearForm