Sign in

Michael Friendly

@datavisfriendly.bsky.social
6.4K followers 499 following 2.7K posts

ASA Fellow; #rstats developer of graphical methods for categorical and multivariate data; #datavis history of data visualization; #historicaldatavis; Milestones project Web: www.datavis.ca GitHub: github.com/friendly

PostsRepliesMedia
Michael Friendly @datavisfriendly.bsky.social · 18h
#TodayinHistory #dataviz #OTD 📊 💀Oct 10, 1687 Johann Heinrich Schulze died in Germany 🇩🇪 1727: Experiments paving the way to the development of photography: 🎞️Images obtained by action of light on a mixture of chalk, nitric acid, and silver salts
Image of a camera used by Johann Heinrich SchulzePortrait of Johann Heinrich Schulze
010
Michael Friendly @datavisfriendly.bsky.social · 10/10/2026
📊🗺️#datavis #maps worldmapper.org has an amazing collection of anamorphic cartograms with size of countries mapped to some variable of interest. This one, on the outbreak of COVID is one of my favorites, animating the change over time. Watch it spread
0194
Michael Friendly @datavisfriendly.bsky.social · 10/10/2026
So cool 👍
051
Michael Friendly @datavisfriendly.bsky.social · 10/10/2026
#dataviz Hey, someone made a Venn - Pie Looks tasty 🥧
Two pies joined together to suggest a Venn diagram
190
Reposted by Michael Friendly
Gina Reynolds, Human-Data Interaction 📊🛠 @ginareynolds.bsky.social · 09/10/2026
We can't wait to hear about {deeptime} viz with Will Gearty - visualizing spans of billions of years! 🤩⏳ Paleontology fans welcome!! 🤗🦕🦣
142
Reposted by Michael Friendly
Yuri Engelhardt 🌱 @yuriengelhardt.bsky.social · 08/10/2026
Our programme is online now! 📊
054
Michael Friendly @datavisfriendly.bsky.social · 09/10/2026
🎉Congrats!!!
110
Michael Friendly @datavisfriendly.bsky.social · 09/10/2026
#TodayinHistory #dataviz #OTD 📊 🎂Oct 8, 1873 Ejnar Hertzsprung born, Copenhagen, Denmark 🇩🇰 1911-1913: The Hertzsprung-Russell diagram, a log-log plot of luminosity as a function of temperature for stars Not so beautiful as a plot, but those red giants catch the eye. 💥Revolutionized stellar physics
The original Hertzsprung-Russell diagram, a log-log plot of luminosity as a function of temperature. A cluster of points is circled in the upper right which violated the otherwise linear relationship of the main sequence ; these proved to be the Red Giants
Modern rendition of the H-R diagram, with named clusters identifiedPortrait of Ejnar Hertzsprung
030
Michael Friendly @datavisfriendly.bsky.social · 08/10/2026
📊 #dataviz #stats #history A delightful etching I found in a bookshop in Le Somail, 🇫🇷(Canal du Midi) The Bernoulli brothers discussing a problem in geometry. Jean seems to be saying "Voila!"" Jacques, "BUT"
050
Michael Friendly @datavisfriendly.bsky.social · 08/10/2026
#datavis #history #infographic Eye candy for today: 1859 F. David: Tree Chart Illustrating the History of France Each branch successively designates, starting from the trunk of the tree, the various kingdoms and governments since Pharamond, leader of the Franks
Each branch successively designates, starting from the trunk of the tree, the various kingdoms and governments since Pharamond, leader of the Franks, up to and including that of S.M. the Emperor NAPOLEON III. In the same order, each sheet of the branch makes known the main events of each reign. Finally the first sheet gives the origin of the King, and the last three, the place, the date of his death and his age. In summary, this important work, which combines the double advantage of Chronology and Genealogy, offers, by its synoptic form, an easy and fruitful study, by rapidly engrave in memory a rich canvas of the history of France.
050
Reposted by Michael Friendly
Frank Elavsky (he/him) ⌁ @frank.computer · 06/10/2026
Even bigger announcement: Skeleton has won Best Paper (top 1%) at IEEE VIS this year!! 🎉 VIS is my home community and I am deeply indebted to many of the people in it. I take a little time to pontificate on what "best paper" means to me (or rather, what I think it should really be about):
frank.computer
Skeleton wins best paper at IEEE VIS 2026
We’ve won a best paper award. I’ll use this as an excuse to soapbox about best papers for a second.
1315
Reposted by Michael Friendly
CRAN Updates @cranupdates.bsky.social · 06/10/2026
New on CRAN: ggextreme (0.1.0). View at CRAN.R-project.org/package=ggextreme
cran.r-project.org
ggextreme: Bar Chart Races and Interactive Plots for Clinical Research
Presentation quality charts built on 'ggplot2' that the package itself does not provide. The bar chart race interpolates values on a uniform time grid, ranks every frame on its own values and eases bars into new positions, so a reordering field stays readable. Frames are ordinary 'ggplot2' objects laid out on a fixed pixel grid, which keeps the axis and label column from drifting between them, and are encoded to GIF or MP4. Circular images, such as the bundled country flags, can be placed at the end of each bar. Causal diagrams are drawn as directed acyclic graphs whose nodes and arrows each carry a rationale and references, shown on hover and opened with clickable links on click, through 'ggiraph'; the same diagram is also available as a static 'ggplot2' object. Network plots for network meta-analysis are drawn from arm level data, with the baseline characteristics and outcomes of every arm shown side by side on click. Forest plots for 'metafor' and 'meta' fits carry each study's record and risk of bias traffic lights, and replay a cumulative meta-analysis as an animation; funnel plots shade where each study would be significant and carry the pooled estimate without it, trim and fill and the tests for small-study effects; league tables for 'netmeta' fits show the direct and indirect evidence behind every estimate. Kaplan-Meier plots read survival and the hazard ratio at any time under the pointer, beside a risk table and proportional hazards tests, and swimmer plots give each patient a lane with their responses, progression and death. Nomograms of regression models, from linear and generalized linear models to mixed, Cox, parametric survival, ordinal and multinomial models, have a handle per predictor and compute each prediction with its confidence interval in the page. Choropleth maps of the world or of any 'sf' map step or play through the years, with several measures side by side for the same year. Causal diagrams can also show which paths between an exposure and an outcome an adjustment set leaves open, by the backdoor criterion; Kaplan-Meier plots give the restricted mean survival time up to a horizon the reader can move; league tables and network plots show where each network estimate's evidence comes from; and swimmer plots can carry a waterfall of best change and each patient's course beside the lanes. Four explorers put a threshold or an assumption in the reader's hands: the cutoff of a diagnostic test, with what it means for 1,000 people at any prevalence; the strength of unmeasured confounding, with E-values; the choices of a multiverse of analyses; and the threshold that defines a responder. Plots after CINeMA judge the confidence in each estimate of a network meta-analysis in six domains, with every judgment's reason and source, and show what lies behind them: each study's contribution, the estimates against a movable range of little difference, direct against indirect evidence, and a league table and a network marked with the judgments.
001
Michael Friendly @datavisfriendly.bsky.social · 07/10/2026
#TodayinHistory #dataviz #OTD 📊 🎂Oct 6, 1784 Baron Pierre Charles Dupin born, Varzy, Nievre, France 🇫🇷 1819? 1826: Choropleth map with shadings from black to white (distribution of illiteracy in France), the first (unclassed) choropleth map, and perhaps the 🥇first modern statistical map
Dupin's choropleth map of France showing literacy in each department by intensity of shading (black = lowest)Portrait of Baron Charles Dupin seated at a desk with his map partially under a book
1132
Michael Friendly @datavisfriendly.bsky.social · 07/10/2026
#TodayinHistory #dataviz #OTD 📊 🎂Oct 05, 1864 Louis Lumière born in Besancon, France 🇫🇷 Let there be #MOVIES 🎥🍿 1895: 🥇First movie, with the cinématographe, using the principle of intermittent movement of film
Photo of Louis Lumiere posing next to one of his projectorsThe Lumiere's cinématographe. Looks like a wooden box with a camera lens on a tripod.The Lumiere projector, featuring a strip of film hand wound past a projector lens
020
Michael Friendly @datavisfriendly.bsky.social · 06/10/2026
📦 #rstats #dataviz HistData 1.1.1 now on CRAN 🎉 Data sets from the history of statistics & data visualization. New: Semmelweis' (1861) data on handwashing & deaths from childbed fever in Vienna, transcribed from his tables. Plus tinyplot in a few examples. 👀https://friendly.github.io/HistData/
Line chart titled "Monthly mortality from childbed fever, First Clinic, 1841-1849", showing maternal deaths per 100 births by month. Red points before mid-May 1847 swing widely, mostly between 2 and 20 percent, with a peak of 31 percent in late 1842. A dashed vertical line marks "Handwashing begins". The blue points after it are all below 5 percent.
Line chart titled "Mortality in the two clinics", drawn in serif type on a tan background, showing maternal deaths per 100 births by year, 1833-1858, for the First Clinic (red circles) and Second Clinic (navy triangles). Between a dashed line marked "Clinics separated" at 1840 and one marked "Handwashing" at 1847, the First Clinic is far higher, peaking near 16 percent in 1842, while the Second stays between 2 and 8 percent. After 1847 the two lines run close together.
0101
Michael Friendly @datavisfriendly.bsky.social · 05/10/2026
penguinglyphs examples: a typical scatterplot for a sample and one tuned to showing the multivariate outlers in the dataset, where they stand out on the smallest PCA dimensions.
Scatterplot of body mass (g) against flipper length (mm) for a random sample of 40 penguins, in which each point is a small cartoon penguin. Body color shows species: orange Adelie, purple Chinstrap, green Gentoo. The size of each penguin's body, flippers and light blue bill reflects its own measurements. The green Gentoos form a separate group at the upper right, with large bodies, long flippers and thin bills; Adelies and Chinstraps overlap at the lower left, the Chinstraps with longer bills.
Scatterplot of the third and fourth principal components of four measurements on 333 penguins, with small points colored by species: orange Adelie, purple Chinstrap, green Gentoo. The points form a single cloud in the middle. Three unusual penguins, numbered 283, 10 and 35, are drawn as large cartoon penguins, and all are outside the cloud: 283, a Chinstrap with a very long bill, at the far left; 10, an Adelie, at the far right; and 35, an Adelie, at the top.
130
Michael Friendly @datavisfriendly.bsky.social · 05/10/2026
🐧 #rstats #dataviz penguinglyphs: an experiment in glyphs that look like the thing measured. Bill, flippers & body drawn from each penguin's data; color = species. Use them as points in any plot. Multivariate outliers? Look in the *last* PCs, not the first. friendly.github.io/penguinglyphs/
friendly.github.io
Multivariate Penguin Data Visualization Using Glyphs
A system for visualizing multivariate penguin data as schematic penguin drawings. Physical measurements (bill length/depth, flipper length, body mass) are mapped to visual features of penguin glyphs, ...
110
Michael Friendly @datavisfriendly.bsky.social · 05/10/2026
📦 #rstats heplots 1.8.6 is on CRAN 🎉 Visualizing hypothesis tests in multivariate linear models. New: a 2-page cheatsheet, robmlm() directly on a fitted mlm, and fixes to termMeans() & eigstatCI() found while making the sheet. friendly.github.io/heplots/
Thumbnails of the two landscape pages of the heplots cheatsheet. Page 1, "Fit & visualize", has a basics panel, a code template, a grid of HE plot types and tests of linear hypotheses. Page 2, "Check, refine & report", has plots for covariance homogeneity, normality, outliers and robust fits, plus panels on customizing plots, coefficient plots, model statistics and datasets.
0201
Reposted by Michael Friendly
James Balamuta @coatless.bsky.social · 04/10/2026
webrarian is a new R package. It turns a folder of R scripts and data into a static website where R runs in the visitor's browser, with no compute server and nothing to install. blog.thecoatlessprofessor.com/posts/introd... #rstats #webr #webassembly
A card for the R package webrarian. Large text reads "A folder in. A website out." On the left, a small card lists a folder named lab-01 holding lab.R, setup.R and a data folder. A red arrow points from it to a browser window that shows a scatterplot of car weight against miles per gallon with brick-red points. The address coatless-wasm.github.io/webrarian is on the card.
516166
Michael Friendly @datavisfriendly.bsky.social · 03/10/2026
#TodayinHistory #dataviz #OTD 📊 📅Oct 02, 1608 Hans Lippershey --- Developed the 🥇1st known telescope, in the Netherlands 🇳🇱 (Within 2 years, Gallileo made his own and made many discoveries -- rings of Saturn, moons of Jupiter, ...)
Etched portrait of Hans LippersheyLippershey's telescope, It consists of a long with a lens on one end and a smaller tube mounted on a globe into which the first could be inserted and pointed to the heavens.
030
Michael Friendly @datavisfriendly.bsky.social · 03/10/2026
#TodayinHistory #dataviz #OTD 📊 💀Oct 02, 2002 Heinz Von Foerster died in Pescadero, California, USA 🇺🇸 1930: Table of historical events drawn on logarithmic paper, changing the default linear of history
View of historical events on a logarithmic timelines, so that events closer some origin (the present) get more visual spacePhoto of Heinz Von Foerster
020
Michael Friendly @datavisfriendly.bsky.social · 03/10/2026
#TodayinHistory #dataviz #OTD 📊 💀Sep 30, 1955 Louis Leon Thurstone died in Chapel Hill, NC, USA 🇺🇸 Belated tribute to my academic grandfather. In 1935, he developed multiple factor analysis in his book _Vectors of the Mind_, taking the study of dimensions of intelligence and performance to higher D
Photo of Louis Leon Thurstone in front of a blackboard illustrating multiple factors. Title page of Thurstone's book _Vectors of the Mind: Multiple Factor Analysis for the Isolation of Primary Traits_
040
Michael Friendly @datavisfriendly.bsky.social · 03/10/2026
Very interesting to me. Tried to register for online, but was confronted by a captcha-from-hell, that was never satisfied. AI generated?
000
Reposted by Michael Friendly
JsonGeller @jgeller1phd.bsky.social · 02/10/2026
New tutorial finally in press with @rmkubinec.bsky.social @chelseaparlett.bsky.social and @matti.vuorre.com. It has everything you could possible want: Quippy headings, a whole lot of beta, bayesian analyses and frequentist analyses side by side in harmony. link.springer.com/article/10.3...
rdcu.be
27825
Michael Friendly @datavisfriendly.bsky.social · 02/10/2026
I hope people appreciate the work @albertocairo.com does to advance the entire profession of #dataViz #dataVisualization #infographics #dataJournalism The image here uses a "weepeople" font that Alberto invented to make mere numbers more human. You can see this here in this schematic for the topic.
2195
Michael Friendly @datavisfriendly.bsky.social · 02/10/2026
Another follow-up to my #rstats #cheatsheet Q: I had two AI agents (Claude / Codex) review it independently, running every call on the sheet against the dev version. It turned up two real package bugs and prompted a new robmlm.mlm() method so robmlm() now takes a fitted model directly.
020
Michael Friendly @datavisfriendly.bsky.social · 02/10/2026
#TodayinHistory #dataviz #OTD 📊 🎂Sep 29, 1790 Alexandre Jean Baptiste Parent-Duchatelet born in Paris, France 🇫🇷 1836: Extensive data tabulation, time series, and mapping of prostitutes in Paris (part of 'moral statistics')
 Parent Duchatelet's 1836 choropleth map of France, showing the department from which prostitutes moved to Paris. Darker shading means more.
The numbers in the map give the rank order of the departments.Choropleth map of Paris showing the distribution of prostitutes by arrondisementPortrait of Alexandre Jean Baptiste Parent-Duchatelet
060
Reposted by Michael Friendly
RJ Andrews @infowetrust.com · 01/10/2026
Snuck a short history of floating bar charts into this blogpost. I did not know that McKinsey is responsible for "waterfall" charts before writing this! Thank you @jasonforrest.bsky.social for the tips. dbtcharts.com/blog/you-ask...
dbtcharts.com
You asked for a waterfall · dbt Charts
Two weeks later, dbt Charts 0.9.0 can draw one.
062
Michael Friendly @datavisfriendly.bsky.social · 02/10/2026
Ah- found it github.com/be-marc/chea...
github.com
GitHub - be-marc/cheatdown: Cheat Sheets with R Markdown
Cheat Sheets with R Markdown. Contribute to be-marc/cheatdown development by creating an account on GitHub.
110
Michael Friendly @datavisfriendly.bsky.social · 01/10/2026
Follow-up to my #rstats #cheatsheet Q: I went with Quarto → Typst, no template. Layout is a raw Typst grid + 2 small helpers (panel, thumbnail); every image is drawn from data by an R script. Maybe an easier way? But, hey, it worked. Result for heplots: friendly.github.io/heplots/hepl...
Two landscape pages of the heplots cheatsheet. Page 1, "Fit & visualize": basics of HE plots, a code template, a grid of six HE plot types (2D, effect size, pairs, 3D, 1D, canonical), and tests of linear hypotheses. Page 2, "Check, refine & report": covariance homogeneity plots and Box's M, normality/outlier/robust-fit plots, plot customization, coefficient plots, a table of model statistics functions, and datasets.
170
Michael Friendly @datavisfriendly.bsky.social · 01/10/2026
📊 #rstats #dataviz ggCheysson 1.1.0 is on CRAN 🎉 Émile Cheysson's palettes, hatching & fonts for ggplot2. New: all 25 palettes (5 lost to a naming bug), checked against original plates, and one-step color + pattern scales with scale_cheysson(). friendly.github.io/ggCheysson/
ALT: Map of France titled "Charitable Donations", showing donations to the poor by department in quartiles with a Cheysson diverging palette: solid slate blue (Low), blue diagonal stripes (Medium-Low), orange diagonal stripes (Medium-High) and solid orange (High). High-donation departments cluster in the west and center; low ones in the south and east. Data: André-Michel Guerry (1833).
0173
Reposted by Michael Friendly
Internet Archive @archive.org · 30/09/2026
Here's a small thing you can do for the future: 🌐 Find a webpage you care about. 💾 Save it. ✔️ That's it. One saved page becomes part of the web's shared memory. Try it today 👉 web.archive.org #ToolsYouCanUse
Cream graph-paper graphic framed by yellow line art, featuring a screenshot of the Internet Archive's Wayback Machine page, with the "Save Page Now" options circled in red. A yellow ">" chevron tagline below reads "tools you can use," pointing toward a yellow arrow.
1284131
Michael Friendly @datavisfriendly.bsky.social · 01/10/2026
minis -- what a great idea and a nice collection github.com/djnavarro/mi...
github.com
GitHub - djnavarro/minis: A collection of small, standalone, zero-runtime-dependency R components ('minis'), each shipped as a single .R file with its own drop-in test suite.
A collection of small, standalone, zero-runtime-dependency R components ('minis'), each shipped as a single .R file with its own drop-in test suite. - djnavarro/minis
120
Michael Friendly @datavisfriendly.bsky.social · 01/10/2026
TQMP, particularly if you make it more tutorial in R, and best practices for displaying results of simulation studies-- often ugly
110
Michael Friendly @datavisfriendly.bsky.social · 30/09/2026
She can't go wrong with matching luggage. When mine went off, care packages of treats surprises were fun, but not as important as occasional hand-holding, albeit by ☎️
010
Michael Friendly @datavisfriendly.bsky.social · 30/09/2026
#rstats Q: Tips from anyone who's made a #cheatsheet for an R package? Posit has PPTX/Keynote templates, but I'd rather build it reproducibly: Quarto → PDF (Typst?). I can generate all thumbnails from data in a script, but they need to be highly schematic. Examples / repos welcome!
482
Michael Friendly @datavisfriendly.bsky.social · 30/09/2026
A nice study of 'dataset forensics' .... Just look at this diff chart
081
Michael Friendly @datavisfriendly.bsky.social · 30/09/2026
If you are already a DVS (free) member, take the next step to paid and help support the important (and beautiful!) work of the Data Visualization Society.
022
Michael Friendly @datavisfriendly.bsky.social · 30/09/2026
I'm keeping my anti-rainbow glasses handy 🥸
011
Michael Friendly @datavisfriendly.bsky.social · 30/09/2026
#TodayinHistory #dataviz #OTD 📊 🎂Sep 29, 1829 Michael George Mulhall born in Dublin, Ireland 🇮🇪 1884: 🥇1st? use of a pictogram, to represent data by icons proportional to a number The train one is accurate; the wheel one commits the area illusion, using diameter to represent the number
Capital employed in 1882  in France, UK and US, portrayed by trains whose length is ~ to the numberPictograms displaying Steam power (top) and horsepower per 1000 inhabitants by wheels whose diameter is proportional to the number representedPhoto of Michael Mulhall looking to his right and wearing a long beard
081
Reposted by Michael Friendly
Andreas Brandmaier @brandmaier.bsky.social · 28/09/2026
Ever looked at your graph and thought: this needs a more dramatic exit strategy? Make your R base plots self-destruct with style. If you must, download here: github.com/brandmaier/d... #RStats #DataVisualization #RProgramming #DataScience #OpenSource #AcademicHumor #noAI
47622
Reposted by Michael Friendly
Grant McDermott @gmcd.bsky.social · 28/09/2026
𝐭𝐢𝐧𝐲𝐩𝐥𝐨𝐭 v0.8.0 now available on CRAN 🎉 grantmcdermott.com/tinyplot/ This is another big release: new plot types, finer facet & axis control, smarter handling of categorical data, and lots more. Same tiny footprint, though. Short highlight thread below 🧵 #rstats
Heatmap of the mtcars dataset, scaled within each column. Code: https://github.com/grantmcdermott/tinyplot/blob/main/vignettes/gallery_figs/heatmap-mtcars.RHistogram of New York temperatures, with bars coloured by their own x values. Code: plt(~ Temp | Temp, data = airquality, type = "hist", theme = "classic")Hexbin plot of 20,000 bivariate normal draws. Code: https://github.com/grantmcdermott/tinyplot/blob/main/vignettes/gallery_figs/hexbin.RStacked area plot of telephones in use by world region, 1956-1961. Code: plt(WorldPhones[-1, ], type = type_area(stack = TRUE, byord = "end"))
13513
Michael Friendly @datavisfriendly.bsky.social · 29/09/2026
Way cool. Georgy Voronoy would approve en.wikipedia.org/wiki/Georgy_...
en.wikipedia.org
Georgy Voronoy - Wikipedia
050
Michael Friendly @datavisfriendly.bsky.social · 29/09/2026
Hey, what about Galileo, 1610?
100
Reposted by Michael Friendly
CRAN Package Updates Bot @cranberriesfeed.bsky.social · 26/09/2026
New CRAN package ggCheysson with initial version 1.0.1 #rstats cran.r-project.org/package=ggCheyss…
cran.r-project.org
CRAN: Package ggCheysson
Implements for 'ggplot2' the stylistic elements (fonts, hatched patterns, color palettes) used by 'Emile Cheysson' in the 'Albums de Statistique Graphique', sometimes called the pinnacle of the Golden Age of Statistical Graphics.
021
Michael Friendly @datavisfriendly.bsky.social · 27/09/2026
#TodayinHistory #dataviz #OTD 📊 🎂Sep 26, 1934 Vincent P. Barabba born in Chicago, IL, USA 🇺🇸 1973-76: Revival of statistical graphics innovation by U.S. Bureau of the Census (After the Walker's Statistical Atlas of the US, interest in graphics died out ~1900) Interview with Barabba: bit.ly/3IxZs3S
www2.census.gov
020
Reposted by Michael Friendly
Robert Simmon @rsimmon.bsky.social · 25/09/2026
Re-created versions of Moses Harris’s color wheels (published in 1766!) by the always-delightful @rougeux.bsky.social www.c82.net/natural-colo... #color #dataviz
vintage color wheel of prismatic colors (red, yellow, blue).Vintage color wheel of compound colors (orange, purple, green).
1193
Reposted by Michael Friendly
Robert Reich @rbreich.bsky.social · 25/09/2026
On Dolly Parton Day, I'm remember how she... -Gifted millions of free books to kids -Ensured musicians she worked with got union benefits -Helped fund medical research and the COVID vaccine -Donated millions to communities hit by natural disasters -Funded high school band programs She is missed!
218140633084
Michael Friendly @datavisfriendly.bsky.social · 26/09/2026
#TodayinHistory #dataviz #OTD 📊 💀Sep 25, 1777 Johann Heinrich Lambert died in Berlin, Germany 🇩🇪 1760: Curve-fitting and interpolation from empirical data points 1772: Developed diagrams to represent color systems. See: Bullynck, bit.ly/3JxKmvi, bit.ly/4g5Hy4H
ALT: J. H. Lambert’s chart of the variation in soil temperatures at various latitudes over time. The horizontal axis represents time within a year using astronomical symbols.
Source: Johann Heinrich Lambert, Pyrometrie; oder, vom maasse des feuers und der wärme mit acht kupfertafeln. Berlin: Haude & Spener, 1779.
The J. H. Lambert color pyramid, or Farbenpyramide, created by Johann Heinrich Lambert in 1772, was the first three-dimensional color model. 
It shows a total of 107 colours on six different levels, variously combining red, yellow and blue pigments, and with an increasing amount of white to provide the vertical component.
Portrait of J. H. Lambert, in profile looking to the left.
050
Michael Friendly @datavisfriendly.bsky.social · 26/09/2026
Wish I knew of this before I tried to solve it on my own 😢
020