observablehq / plot

A concise API for exploratory data visualization implementing a layered grammar of graphics
https://observablehq.com/plot/
ISC License
4.36k stars 176 forks source link

Cluster contours / segmentation #2033

Open Fil opened 7 months ago

Fil commented 7 months ago

For a map / scatterplot where the value is categorical, it would be nice to derive contours for each category. A way to do this might be to:

  1. apply a spatial interpolator to obtain a grid
  2. for each category c, contour the function value === c with a threshold of 0.5 (or 0.7 to tighten it a bit)
  3. done

(Also applies to quantitative data, by determining categorical bands.)

There are possibly better segmentation algorithms to consider.

This is currently possible to do (but very inefficiently) by running one contour mark for each category, with a value = 1 for points that belong to the category, and -1 for points that don't.