Color gradient explained
In color science, a color gradient (also known as a color ramp or a color progression) specifies a range of position-dependent colors, usually used to fill a region.
In assigning colors to a set of values, a gradient is a continuous colormap, a type of color scheme.In computer graphics, the term swatch[1] has come to mean a palette of active colors.
Definitions
- Color gradient is a set of colors arranged in a linear order (ordered)
- A continuous colormap is a curve through a colorspace
Strict definition
f:[rmin,rmax]\subsetR\toC
which is defined by:
- a colorspace C
- an increasing sequence of sampling points
- a series of values in the colorspace
where:
is a set of real numbers
Types
Criteria for classification:
- dimension
- discrete (classed, color scheme) [3] / continuous
- shape
- range: full or limited. Example : pastel color with limited range of saturation.
- perceptual uniformity[4]
- order
- ordered (sequential) and non-ordered (categorical)
- perceptual order
- readability for color-vision deficient or color-blind people (colorblind-friendly)
- color space
- color depth
Dimension
Shapes
Axial gradients
An axial color gradient (sometimes also called a linear color gradient) is specified by two points, and a color at each point. The colors along the line through those points are calculated using linear interpolation, then extended perpendicular to that line. In digital imaging systems, colors are typically interpolated in an RGB color space, often using gamma compressed RGB color values, as opposed to linear. CSS and SVG both support linear gradients.[6] [7]
Radial gradients
A radial gradient is specified as a circle that has one color at the edge and another at the center. Colors are calculated by linear interpolation based on distance from the center. This can be used to approximate the diffuse reflection of light from a point source by a sphere. Both CSS and SVG support radial gradients.[8] [9]
Conic gradients
Conic or conical gradients are gradients with color transitions rotated around a center point (rather than radiating from the center). Example conic gradients include pie charts and color wheels.[10] Conic gradients are sometimes called "sweep gradients" (for example in the OpenType specification) or angular gradients.
Other shapes
In vector graphics polygon meshes can be used, e.g., Adobe Illustrator supported gradient meshes.
Color space
Effect of color space
The appearance of a gradient not only varies by the color themselves, but also by the color space the calculation is performed in. The problem usually becomes important for two reasons:
- Gamma correction to a color space. With a typical γ of around 2, it is easy to see that a gamma-enabled color space will blend darker than a linear-intensity color space, since the sum of squares of two numbers is never more than the square of their sum. The effect is most apparent in blending complementary colors like red and green, with the middle color being a dark color instead of the expected yellow.[11] [12] The radial and conic examples on this page clearly exhibit this error.
- Handling of other perceptual properties. In information visualization, it is undesirable to have a supposedly "flat" gradient show non-monotonic variations in lightness and saturation along the way. This is because human vision emphasizes these qualities, causing bias or confusion in interpretation.[13]
A "linear" blend would match physical light blending and has been the standard in game engines for a long time.[14] On the web, however, it has long been neglected for both color gradients and image scaling.[15] Such a blend still has a subtle difference from one done in a perceptually-uniform color space.[16]
Examples
HSV rainbow
Applications
- represent quantitative or ordinal values, like in heat maps. More precise description is in color box.[17]
- fill a region:[18] many window managers allow the screen background to be specified as a gradient. The colors produced by a gradient vary continuously with position, producing smooth color transitions.
- visualize the progression of an extended computer operation, such as a download, file transfer, or installation. See progress bar
- Coloring cartographic maps
See also
Notes and References
- https://cssgradient.io/swatches/ cssgradient: CSS Gradient Swatches
- https://datascience.dsscale.org/wp-content/uploads/2017/10/TheGoodtheBadandtheUgly.pdf The Good, the Bad, and the Ugly: A Theoretical Framework for the Assessment of Continuous Colormaps by Roxana Bujack, Terece L. Turton, Francesca Samsel, Colin Ware
- https://blog.datawrapper.de/which-color-scale-to-use-in-data-vis/ which-color-scale-to-use-in-data-vis by Lisa Charlotte Rost
- https://www.fabiocrameri.ch/visualisation/#ws-block-features-with-aside-icons-3-cols-mQE9rwEn Fabio Crameri: Scientific colour maps
- http://publica.fraunhofer.de/documents/N-337230.html A survey and task-based quality assessment of static 2D colormaps
- http://www.w3.org/TR/2012/CR-css3-images-20120417/#linear-gradients Linear Gradients
- http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#LinearGradients Linear Gradients
- http://www.w3.org/TR/2012/CR-css3-images-20120417/#radial-gradients Radial Gradients
- http://www.w3.org/TR/2011/REC-SVG11-20110816/pservers.html#RadialGradients Radial Gradients
- https://developer.mozilla.org/en-US/docs/Web/CSS/conic-gradient mozilla docs: CSS conic-gradient
- Web site: Computer Color is Broken. https://ghostarchive.org/varchive/youtube/20211221/LKnqECcg6Gw . 2021-12-21 . live. Minute Physics. March 20, 2015. YouTube.
- Web site: What every coder should know about gamma . Novak. John. September 21, 2016.
- 1903.06490. Zeileis. Achim. colorspace: A Toolbox for Manipulating and Assessing Colors and Palettes. Fisher. Jason C.. Hornik. Kurt. Ihaka. Ross. McWhite. Claire D.. Murrell. Paul. Stauffer. Reto. Wilke. Claus O.. Journal of Statistical Software . 2019. 96 . 10.18637/jss.v096.i01 .
- Web site: Chapter 24. The Importance of Being Linear . NVIDIA Developer . en.
- Web site: Web color is still broken .
- Web site: How software gets color wrong . bottosson.github.io . December 3, 2020 . en.
- https://gnuplot.sourceforge.net/docs%204.2/node167.html gnuplot docs 4.2 node167: Color box
- Book: Eisenberg, J. David . SVG Essentials . limited . 0-596-00223-8 . 2002 . . 107.