Here's my @observablehq.com Plot plugin that turns an Plot specification into a sketchy version with minimal extra work:
observablehq.com/@jwolondon/m...
Builds on the work of Gordon Tu and rough.js
Here's my @observablehq.com Plot plugin that turns an Plot specification into a sketchy version with minimal extra work:
observablehq.com/@jwolondon/m...
Builds on the work of Gordon Tu and rough.js
- How about the Alps?
* No, way too scary. I don't have a head for heights.
- OK, what about the gentle grassy domes of the Auvergne?
* Sounds great.
Day two of our walking holiday...
- How about the Alps?
* No, way too scary. I don't have a head for heights.
- OK, what about the gentle grassy domes of the Auvergne?
* Sounds great.
Day two of our walking holiday...
Here's just the first set from the 400+ up to our apartment.
Here's just the first set from the 400+ up to our apartment.
The lower band uses a perceptually linear gradient via CSS oklch:
oklch(95% 0.02 190deg) to oklch(65% 0.2 25deg)
See observablehq.com/@jwolondon/h...
The lower band uses a perceptually linear gradient via CSS oklch:
oklch(95% 0.02 190deg) to oklch(65% 0.2 25deg)
See observablehq.com/@jwolondon/h...
Here's a Rivulet program that generates a Collatz sequence from any given start integer.
en.wikipedia.org/wiki/Collatz...
Here's a Rivulet program that generates a Collatz sequence from any given start integer.
en.wikipedia.org/wiki/Collatz...
Bridges an important gap between design exposition (e.g Data Sketches by Bremer and Wu) and a design handbook.
Bridges an important gap between design exposition (e.g Data Sketches by Bremer and Wu) and a design handbook.
An introduction Rivulet:
observablehq.com/@jwolondon/r...
An editor:
observablehq.com/@jwolondon/r...
An introduction Rivulet:
observablehq.com/@jwolondon/r...
An editor:
observablehq.com/@jwolondon/r...
I wonder if we can algorithmically determine a good packing of strands (ignoring for the moment the need to align with Action strands). Here's a more compact version of the same program with more efficient packing.
I wonder if we can algorithmically determine a good packing of strands (ignoring for the moment the need to align with Action strands). Here's a more compact version of the same program with more efficient packing.
Experimenting with simple value strands, thinking about how to minimise strand length for any given number representation. A variation of the knapsack problem with primes? I think shortest strands will never have lefts. Here's ASCII 'HELLO WORLD!' in list 1 with shortest strands:
Experimenting with simple value strands, thinking about how to minimise strand length for any given number representation. A variation of the knapsack problem with primes? I think shortest strands will never have lefts. Here's ASCII 'HELLO WORLD!' in list 1 with shortest strands:
Important to distinguish data ink *ratio* (however flawed a concept) from data density or mark density.
The attached has c. 1,000,000 data points represented as marks. Not necessarily hard to interpret; high data-ink ratio; high data density.
Important to distinguish data ink *ratio* (however flawed a concept) from data density or mark density.
The attached has c. 1,000,000 data points represented as marks. Not necessarily hard to interpret; high data-ink ratio; high data density.
I've created a guide with 6 approaches of varying sophistication for specifying reusable custom marks:
observablehq.com/@jwolondon/h...
I've created a guide with 6 approaches of varying sophistication for specifying reusable custom marks:
observablehq.com/@jwolondon/h...
We welcome applications from anyone with enthusiasm for #datavis. We aim to diversify approaches to datavis & the people who lead it.
Change what we can see. See what we can change.
We welcome applications from anyone with enthusiasm for #datavis. We aim to diversify approaches to datavis & the people who lead it.
Change what we can see. See what we can change.