Skip to content

Paper-Folding/js-colormaps

 
 

Repository files navigation

js-colormaps

💡Idea: matplotlib colormaps for JavaScript

The idea of this project is simple: make the colormaps of Python's matplotlib library available in JavaScript. I came up with it because I needed a colormap in JavaScript for a side project of mine and Google did not spit out any good results, so I decided to do it myself and make it available to the public.

🎨 What is a colormap?

If you have found this repository I presume you already know what a colormap is, but just for completeness’ sake, a colormap formally is a function f: [0, 1] → [0, 255]³ that maps a number onto a color, represented by a triplet of 8-bit integers (= the red, green, blue values). Or at least that is the convention that I have adopted for this project. Of course, a lot of the time the values you want to colorcode are not between 0 and 1 — in this case, you will have to rescale them first.

🚀 How can I use the colormaps?

Most of the magic is contained in the js-colormaps.js file, which you need to include like:

<script src="js-colormaps.js"></script>

or install with yarn:

yarn add js-colormaps-es

or npm:

npm i js-colormaps-es

Once you have loaded that file, you have either use the function evaluate_cmap(x, name, reverse) to map a value x onto a color using the colormap specified by name and reverse:

>> evaluate_cmap(0.5, 'viridis', false)
Array(3) [ 33, 144, 140 ]

Alternatively, you can also directly access every colormap by its name (using the _r suffix to reverse it):

>> RdBu_r(0.25)
Array(3) [ 106, 172, 208 ]

🌈 Which colormaps are available?

All of matplotlib’s colormaps are available, under the same name that you would use in Python:

(Feel free to check out the overview.html file to see how this overview figure was created.)

Additionally, it should not be too hard to modify the code in create-colormaps.py to also export other Python-based colormaps to JavaScript, for example, the scientific colour maps by Fabio Crameri.

⚖️ Copyright

I did not invent any of the colormaps here, I do not own them, and I do not claim that I do. I just tried to make them available to others. If I happen to violate any of your copyrights with this project, please inform me before you drag me to court and we can sort this thing out :-)

Regarding my own copyrights: The project is released under the MIT license (see LICENSE file), which pretty much means “Do whatever you want, but don't hold me liable!”.

About

Matplotlib colormaps made available in JavaScript

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 43.6%
  • JavaScript 43.4%
  • HTML 13.0%