chroma-elm
A native version of Chroma.js that allows you to:
- use W3C X11 color names,
- cluster data points using algorithms: CkMeans, equal, head/tail, Jenks, logarithmic or quantile,
- create color scales,
- use different color spaces such as CMYK, HSLA, LAB, LCH and RGB,
- modify colors using interpolate, set/get alpha, lighten/darken, saturate/desaturate,
- compare colors using WCAG contrast,
- use existing color maps such as Brewer, cmocean, Material, Cividis, Turbo, Sinebow, Parula, Virdis, Plasma, Magma and Inferno.
There is an example site showing how to use the library.
Development
yarn install
yarn run make
yarn run test
yarn run review
yarn run coverage
-
yarn run full
(test && review)
Test Coverage
Benchmarks
yarn run benchmarks
101 Data Points, Limits on an Apple M1, Chrome 96.0:
| Algorithm | Runs/Second |
| ------------- | ------------- |
| CkMeans | 846 |
| Equal | 48,311 |
| HeadTail | 32,197 |
| Jenks | 108 |
| Logarithmic | 48,017 |
| Quantile | 40,905 |
Documentation
yarn run local-doc
Publish to GitHub
yarn run doc
Links
Elm
- Elm Documentation Previewer
-
How to publish an Elm package
elm bump git add elm.json git commit -m "2.0.0 - description of changes" git tag 2.0.0 git push origin main 2.0.0 elm publish
- Idiomatic Guide to Releasing Elm
Color Maps
Thanks
Many thanks to Indicatrix for supporting this project.