When creating thematic maps in ArcGIS or QGIS, thematic coloring (choropleth mapping) is a common technique where different regions are colored according to their data values, revealing spatial patterns. Recently, our management requested integrating this functionality into our business system. While we could publish pre-rendered maps from ArcGIS/QGIS through servers like GeoServer, this lightweight feature doesn't warrant heavy infrastructure. Instead, I explored coloring GeoJSON features directly and discovered colormap - an elegant solution.

Figure: Thematic coloring effect in ArcGIS

Introducing Colormap

Official Page: https://www.npmjs.com/package/colormap
Source Code: https://github.com/bpostlethwaite/colormap

The library includes color ramps based on matplotlib, cmocean, cosine gradients, and other scientific visualization sources:

Implementation

NPM Installation

bash npm install colormap --save

Code Implementation

javascript let colormap = require('colormap');

// Generate 10-step color gradient using 'jet' palette let colors = colormap({ colormap: 'jet', nshades: 10, // Number of color steps format: 'hex', // Output format (hex/rgb/rgba) alpha: 1 // Opacity (0-1) });

Visualization Demo

Integrated with Cesium using 2023 provincial divorce rates in China: