Philippe Rivière
Philippe Rivière
I'm not sure if self-organizing maps are in the scope of this tool, but the algorithm is simple enough to consider. See https://observablehq.com/@fil/som-delaunay for an example. (I might do a...
```js const data = [[0, 0], [1, 1], [2, 1], [2, 2], [1, 2.5]]; const dr = new druid.FASTMAP(data); dr.transform(); // [[2.828…, 0.707…], [1.414…, 0.707…]… dr.transform(); // [[0, 0], [0,...
For discussion, as a way to address #493 by adding a warning (#755) when some channel values are ignored. Q: should this be opt-in or opt-out?
This adds support for marginTop, marginBottom and marginRight (in pixels), but keeps the existing defaults (margin-left: 0px, margin-bottom: 0.5em;) to minimize churn. We might want to revisit at a later...
Cumulative facets. Built as a follow-up to #1085. Supersedes change2 of #1041.
_demo for this PR: https://observablehq.com/@observablehq/plot-facet-annotations-1041_ The changes listed below address the following issues: ## Facets are currently exclusive A single datum can’t currently appear in two different facets. This results...
Closes #1081 The internal changes are pretty substantial, but hopefully easy to read. Note that one unit test changes because the order of the index returned by the "exclude" option...
Suppose the data is given as an object of columns: `df = {x: [1, 2, 3], y: [1, 2, 3]}` (This is how Quarto returns dataframes, and arquero does something...
Demo: https://observablehq.com/@observablehq/plot-image-rotate-1084 closes #1083 todo: - [ ] unit test - [ ] dx, dy— & anticipate what will happen if dx and dy become variable
Expand all channels in parallel to the facet reindexation. ~~Alternatives: #1068, #1070.~~ TODO: - [x] create a central registry of channels, with their definitions (from [facets.js#L56](https://github.com/observablehq/plot/pull/1069/files#diff-540ac050c947f485398ca75ea672a4d4a23c59e708346f8a5dda03408b195ab7R56)) and associated scales (from...