Demonstrating jenks natural breaks implemented in simple-statistics.
Rendered by d3js, based on an example by Mike Bostock.
{ | |
"nodes": [ | |
{"name": "Myriel", "group": 1}, | |
{"name": "Napoleon", "group": 1}, | |
{"name": "Mlle.Baptistine", "group": 1}, | |
{"name": "Mme.Magloire", "group": 1}, | |
{"name": "CountessdeLo", "group": 1}, | |
{"name": "Geborand", "group": 1}, | |
{"name": "Champtercier", "group": 1}, | |
{"name": "Cravatte", "group": 1}, |
{ | |
"nodes":[ | |
{ | |
"name": "Sustainable Development", | |
"group": "Motivated by", | |
"paths": ["Responding to change vs following the plan"] | |
}, | |
{ | |
"name": "Keep it simple", | |
"group": "Motivated by", |
# Created by .ignore support plugin (hsz.mobi) |
{ | |
"dataRoles": [{ | |
"displayName": "Category Data", | |
"name": "Category", | |
"kind": "Grouping" | |
}, | |
{ | |
"displayName": "Paths", | |
"name": "Paths", |
// Port of https://github.com/opencv/opencv/blob/a50a355/modules/features2d/src/blobdetector.cpp | |
// But with special `faster` option which has slightly different semantics, | |
// but is a whole bunch faster. | |
function diff(v1, v2) { | |
if (v1.x !== undefined) return { x: v1.x - v2.x, y: v1.y - v2.y }; | |
return v1.map((value, index) => value - v2[index]); | |
} | |
function norm(vector) { |
Demonstrating jenks natural breaks implemented in simple-statistics.
Rendered by d3js, based on an example by Mike Bostock.