demo D189
Quantile colour scales in ESM
A scale that ignores the outlier flattening it
scale: { from: 'quantile' }
This grid shades a column by quantile rather than by raw range, so one extreme value does not flatten the colour for everything else. It keeps a heat map readable when the data is skewed, spreading colour by rank so the middle of the distribution still shows contrast.
This is the ES module version. The grid is imported straight from a CDN as a module, the same configuration as the vanilla tab without a global script tag, so it drops into any bundler or a bare module script.
The configuration
<link rel="stylesheet" href="https://cdn.latticegrid.dev/lattice-grid@1.108.0/lattice-grid.min.css">
<div id="grid" style="height: 460px"></div>
<script type="module">
import { createGrid } from 'https://cdn.latticegrid.dev/lattice-grid@1.108.0/lattice-grid.esm.min.js';
const grid = createGrid(document.getElementById('grid'), {
rowKey: 'id',
// The same skewed column, two scales. A min-max scale is flattened by one
// large value; a quantile scale spans the 5th to 95th percentile instead.
formatting: {
'v-minmax': [{ scale: { from: 'minmax', colours: ['#f5f7fa', '#1a6bc7'] } }],
'v-quantile': [{ scale: { from: 'quantile', low: 5, high: 95, colours: ['#f5f7fa', '#1a6bc7'] } }],
},
columns: [
{ field: 'node', title: 'Node', layout: { pin: 'start', width: 150 } },
{ field: 'value', id: 'v-minmax', title: 'min-max scale', type: 'number' },
{ field: 'value', id: 'v-quantile', title: 'quantile scale', type: 'number' },
{ field: 'value', title: 'value', type: 'number' },
],
rows,
});
</script>