Sign in

Teun van den Brand

@teunbrand.bsky.social
984 followers 95 following 197 posts

GitHub: github.com/teunbrand

PostsRepliesMedia
Teun van den Brand @teunbrand.bsky.social · 15/10/2026
Has anyone ever noticed that EU portraits have visual parallels with medieval art, where the stars in a circle sort of resemble halos?
A portrait of Ursula von der Leyen speaking at an EU event. Roughly centered behind her head is the EU flag: 12 yellow stars arranged in a circle on a blue background.Medieval art showing part of a tryptich depicting the virgin Mary titled 'Virgin and Child with Saints Augustine, Nicholas, Catherine, Lucy and Angels' by Pietro Lorenzetti (ca 1340-1345) from the Walters Art Museum. Mary's head has a halo depicted as an embellished circle behind her head.
051 5
Reposted by Teun van den Brand
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!! 🤗🦕🦣
143 4
Teun van den Brand @teunbrand.bsky.social · 07/10/2026
zux
010 1
Reposted by Teun van den Brand
Pierre-Paul Axisa @ppaxisa.bsky.social · 05/10/2026
conflicted.r-lib.org #rstats
061 6
Teun van den Brand @teunbrand.bsky.social · 01/10/2026
Have you tried: * Sacrificing a goat? * Collecting the tears of a virgin? * Drawing a pentagram? These are my top 3 CI tips
020 2
Teun van den Brand @teunbrand.bsky.social · 01/10/2026
I think writing your own themes is great. I've written down a few remarks about it here, though it is a bit more mechanical than spice of life stuff! tidyverse.org/blog/2025/10...
tidyverse.org
ggplot2 styling
This post discusses one function in ggplot2: `theme()`. Find out about the glamour of graphics in this deep-dive article.
110 1
Teun van den Brand @teunbrand.bsky.social · 30/09/2026
I think the pattern is that there are also 100s of R packages with custom ggplot2 themes, it is just that they usually have only 1 theme each, that they attach to their plot outputs and are usually similar to vanilla themes.
130 3
Reposted by Teun van den Brand
Emil Hvitfeldt @emilhvitfeldt.bsky.social · 25/09/2026
quarto revealjs magic move now (fairly) seamlessly animated between generated charts from ggplot2, base R, lattice, matplotlib, seaborn, Altair, and Plots.jl set the device to svg, add the .magic-move class and you are good to go! emilhvitfeldt.com/post/quarto-... #quarto #slidecrafting
0222 22
Reposted by Teun van den Brand
Thomas Lin Pedersen @thomasp85.com · 24/09/2026
As announced at posit::conf(2026) #ggsql is now, with the release of version 0.5.0, in Beta. I'm so excited for the future of this project. Read all about what the latest version brings you in the release post
opensource.posit.co
ggsql 0.5.0: Readers, Writers, and Beta status
Announcing ggsql 0.5.0, with new readers and writers for getting data in and out, and the project's graduation to beta status.
14814 48
Teun van den Brand @teunbrand.bsky.social · 24/09/2026
For context: x.com/DarioAmodei/...
x.com
110 1
Reposted by Teun van den Brand
Daniel de Kadt @dandekadt.bsky.social · 24/09/2026
Today we announce the Claude-led creation of a sweet sweet ggplot2 that we suspect could represent a new frontier in dataviz. Its precise function, technological utility (if any), or level of significance is not yet clear, but at minimum it is work I would have been proud to do as a PhD student.
121 2
Teun van den Brand @teunbrand.bsky.social · 23/09/2026
Because plotting fills you with such joy and lust for life that the days fly by without noticing the passage of time. Procrastiplotting is how the young kids are calling it.
000 0
Reposted by Teun van den Brand
Nicola Rennie @nrennie.bsky.social · 22/09/2026
A question for the #RStats and #ggplot2 hivemind: What things do you find most tricky or frustrating in ggplot2? It might be things like specific chart types, aspects of styling, your workflow, saving charts etc.
12188 18
Reposted by Teun van den Brand
Thomas Lin Pedersen @thomasp85.com · 15/09/2026
I’ll be presenting our work on #ggsql today at #PositConf2026 It will be lovely and whimsical and I hope you’ll join both if your are new to ggsql or have been following along since the spring
ggsql.org
ggsql
1101 10
Teun van den Brand @teunbrand.bsky.social · 15/09/2026
Cheaper to support than the whole `scale_colo(u)r_*()` pantheon of palettes! 😅
030 3
Teun van den Brand @teunbrand.bsky.social · 07/09/2026
Also added to development version of ggsql too 🫡 Try it out in interactive examples at ggsql.org/syntax/coord.... ``` VISUALISE continent AS fill FROM ggsql:world DRAW spatial PROJECT TO equal_earth ```
Map of the world with countries coloured by continent. The map has the Equal Earth projection.
0234 23
Reposted by Teun van den Brand
Michael Friendly @datavisfriendly.bsky.social · 07/09/2026
#rstats #dataviz ggbiplot 0.6.5 is now on CRAN 🎉 ggplot2 biplots for PCA/LDA. Variable vectors are now drawn with the ggarrow package @teunbrand.bsky.social — nicer arrowheads out of the box, with varname.gap/vector.args to fine-tune them. friendly.github.io/ggbiplot/
friendly.github.io
A Grammar of Graphics Implementation of Biplots
A ggplot2 based implementation of biplots, giving a representation of a dataset in a two dimensional space accounting for the greatest variance, together with variable vectors showing how the data var...
0131 13
Reposted by Teun van den Brand
Hadley Wickham @hadley.nz · 05/09/2026
It brings a smile to my face every time I see a paper using ggplot2 😀
2795 79
Reposted by Teun van den Brand
Gina Reynolds, Human-Data Interaction 📊🛠 @ginareynolds.bsky.social · 04/09/2026
Thrilled to be welcoming Kaitlin Henze to the #ggplot2extenders meetup next Tues, at 12 noon ET. Storytelling with Data's work tends to be tool agnostic, but how can/should it inform extension? We're so looking forward to hearing from Kaitlin! 🚀📊🙏
042 4
Teun van den Brand @teunbrand.bsky.social · 03/09/2026
I guess I just have to once again learn regex to know what it means now
030 3
Teun van den Brand @teunbrand.bsky.social · 03/09/2026
You basically learn to recognise which SO answers apply to your thing, back in the day of artisinal handcrafted code. Any other interpretation of learning regex, and you're being deceived by a crook. I don't know what learning regex means these days anymore.
120 2
Teun van den Brand @teunbrand.bsky.social · 03/09/2026
The way you use regex is you re-learn it everytime you use regex.
360 6
Teun van den Brand @teunbrand.bsky.social · 03/09/2026
Folks, hot off the press here are a few plots about what the new ggarrow update can do: teunbrand.github.io/teunbrand_bl... I'll also tease them below #rstats #ggplot2
Plot where four arrows connect three points. Two points are connected via double arrows pointing in opposite directions.Plot where four arrows connect three points. Arrowheads are one sided/halved. One connection has two arrows in opposite directions, giving the impression of a compound arrow with half-arrowheads at opposite ends.Plot with four arrows connecting three points. The shafts of the arrows are squiggly lines.
15211 52
Teun van den Brand @teunbrand.bsky.social · 01/09/2026
ggeasy::easy_rotate_x_labels() for the theme()-reluctant among us
020 2
Reposted by Teun van den Brand
Joachim Schork @joachimschork.bsky.social · 20/08/2026
The ggh4x package is an extension for ggplot2 that enhances the flexibility of creating complex and customizable visualizations. Visualization: teunbrand.github.io/ggh4x/ More details: statisticsglobe.com/online-cours... #package #tidyverse #datasciencecourse #visualanalytics #rstudio #ggplot2
094 9
Reposted by Teun van den Brand
Gina Reynolds, Human-Data Interaction 📊🛠 @ginareynolds.bsky.social · 12/08/2026
Really looking forward to a conversation with @matthewkling.bsky.social about the new #ggplot2->3D extension, ggcube. 📦🙂 A week from today, Wed 19th, 12 noon ET. 📊
022 2
Reposted by Teun van den Brand
Mickaël CANOUIL, Ph.D. @mickael.canouil.fr · 26/06/2026
I'll be presenting Gribouille (Grammar-of-graphics for Typst) next Tuesday (the 30th of June at 5.30pm CEST) at the #ggplot2 extenders meetup. @teunbrand.bsky.social will be also presenting ggsql (Grammar-of-graphics for SQL), so you have two good reasons to join! bit.ly/join-gg-exte...
No alternative text description for this imageComic book style title slide with a red, yellow, and pink sunburst background.  Bold yellow text outlined in black reads "The Grammar of Graphics Assembles".  Below it, a blue ribbon banner reads "R, Python, SQL... and now" next to a red starburst badge containing the word "Typst" in yellow.  Underneath, a white box reads "Mickaël Canouil, Ph.D." and a smaller white box below it reads "2026-06-30".
1113 11
Reposted by Teun van den Brand
Thomas Lin Pedersen @thomasp85.com · 23/06/2026
Do you love maps? Of course you do! With the latest release of #ggsql we now support spatial plotting directly from your database. As a cherry on top, the release also provides powerful in-layer aggregation. Read all about it on the blog
opensource.posit.co
ggsql 0.4.1: Spatial plotting and in-layer aggregation
ggsql 0.4.1 adds support for spatial plotting and data aggregation within layers. Read all about the new features in this release post.
08122 81
Reposted by Teun van den Brand
Gina Reynolds, Human-Data Interaction 📊🛠 @ginareynolds.bsky.social · 15/06/2026
It's tomorrow!! 🤩 #ggplot2 #rstats
092 9
Teun van den Brand @teunbrand.bsky.social · 10/06/2026
You can think of it as setting background (paper) and foreground (ink) colours, but with nicer names 🤓
100 1
Teun van den Brand @teunbrand.bsky.social · 09/06/2026
As the one guilty of the changes in Geom___$default_aes, it was all to power the new `theme_*(ink, paper)` settings that propagate en masse to all layers 😇
110 1
Reposted by Teun van den Brand
Libby Heeren @libbyheeren.bsky.social · 09/06/2026
I made this & immediately doubted all of my ggplot source code knowledge, especially since the source code for Geom____$default_aes changed so much in the last major package release 🥹 Did you know making short-form videos is extremely hard? 😂 #rstats #ggplot2 #databs youtube.com/shorts/beajd...
youtube.com
Did you know Hadley Wickham hates theme_minimal()?
YouTube video by Posit PBC
7516 51
Teun van den Brand @teunbrand.bsky.social · 21/05/2026
Ah my archnemnesis `+proj=tmerc`
020 2
Teun van den Brand @teunbrand.bsky.social · 21/05/2026
Thanks! If I read the internet correctly, that is based on this one right? proj.org/en/stable/op...
proj.org
Azimuthal Equidistant — PROJ 9.8.1 documentation
100 1
Teun van den Brand @teunbrand.bsky.social · 21/05/2026
Hey #rstats spatial people: what map projections / EPSG codes do you use most? Asking for a thing.
962 9
Reposted by Teun van den Brand
Artur Carvalho @artur.carva.lu · 20/05/2026
Hey @thomasp85.com @teunbrand.bsky.social, I created a chart builder built on top of #ggsql: plotr.org. Sort of the ggsql Esquisse version :) Would love to hear what you think! It's still very much experimental though.
plotr.org
plotr — A ggsql chart builder
1103 10
Teun van den Brand @teunbrand.bsky.social · 20/05/2026
I'd argue that the left isn't really a traditional rainbow. It is a blue-red divergent palette with a weirdly saturated and darkish green in the middle. If you'd replace the green with something like white, it'd feel much more natural.
000 0
Teun van den Brand @teunbrand.bsky.social · 14/05/2026
Well I was thinking of reviving github.com/teunbrand/gg... back from the dead at some point
github.com
GitHub - teunbrand/ggchromatic: Colour and fill scales for 'ggplot2' using colour spaces.
Colour and fill scales for 'ggplot2' using colour spaces. - teunbrand/ggchromatic
130 3
Teun van den Brand @teunbrand.bsky.social · 13/05/2026
I'm please to celebrate that legendry 0.3.0 has hit the streets on CRAN 🎉 Legendry is a ggplot2 extension that lets you draw more guides. Read about all the guide goodness in this minor update here: teunbrand.github.io/teunbrand_bl... #rstats #ggplot2
teunbrand.github.io
Symbolic update – Blog | Teun van den Brand
The latest and greatest in guide fashion.
25714 57
Teun van den Brand @teunbrand.bsky.social · 07/05/2026
Just as I struggled to get a nice radar plot going
Cat looking sad.
040 4
Teun van den Brand @teunbrand.bsky.social · 06/05/2026
Posted without further comment
040 4
Reposted by Teun van den Brand
tj nightmahr 🧟‍♂️ @tjmahr.com · 04/05/2026
quick problem-solving note about loops and ggplot2 www.tjmahr.com/notes/2026-0...
tjmahr.com
ggplot2 loops and delayed evaluation in aes()
This note solves a problem faced by Josiah Parry (relevant gist and Bluesky post) Generating a series of plots with ggplot2 and a for-loop can lead to unexpected results, as in the following example:
0173 17
Teun van den Brand @teunbrand.bsky.social · 04/05/2026
In the first layer you're subsetting columns, in the second you're subsetting rows. Is that how you want to use it?
020 2
Teun van den Brand @teunbrand.bsky.social · 30/04/2026
no i still need it
000 0
Teun van den Brand @teunbrand.bsky.social · 29/04/2026
Lovely stuff. For a dependency-free symmetric scale, one can also use a function: `scale_y_continuous(limits = ~c(-1, 1) * max(abs(x)))`
0101 10
Reposted by Teun van den Brand
Nicola Rennie @nrennie.bsky.social · 29/04/2026
📊 Five #ggplot2 functions I wish I'd known about earlier 📊 I've written a short blog (with examples) of some of the lesser-known {ggplot2} functions and arguments that make it easier to create better charts! Link: nrennie.rbind.io/blog/five-gg... #RStats #DataViz
nrennie.rbind.io
Five ggplot2 functions I wish I’d known about earlier – Nicola Rennie
There are a few small tweaks you can make to your ggplot2 code to improve your charts. However, they’re not often mentioned. So here’s a few functions and arguments I wish I’d known about earlier.
616549 165
Teun van den Brand @teunbrand.bsky.social · 25/04/2026
I'm not sure if the override behaviour was a conscious decision but I'm glad you like it! 😅
010 1
Reposted by Teun van den Brand
Ansgar Wolsing @ansgarw.bsky.social · 23/04/2026
The Grammar of Graphics for SQL – and it’s for real! 😅 #ggsql brings the Grammar of Graphics to SQL - developed by the team behind ggplot2 at Posit. No need to switch to another tool to create nice charts once you have queried your database. #30DayChartChallenge | Day 22 - New tool #dataviz 📊
A chart showing how the new registrations of BEV developed in Germany between January 2017 and March 2026. From a share below 1 % there were major drivers that a highlighted with annotations:
- June 2020: Purchase incentive introduced.
- Fall 2021: Rush to secure purchase incentive before scheduled 2021 expiry and government change.
Dec 2022: Last chance for maximum incentive before rates decreased in Jan 2023.
Aug 2023: Final month for incentive for commercial buyers; private buyers only thereafter.
Dec 2023: Immediate termination of all EV subsidies following federal budget ruling.
2024-25: Organic growth from 10 percent to 24 percent.
Share of Tesla cars is added from 2021 onwards, showing a typical pattern of a weak first month of the quarter, followed by two stronger months. The share increased up to 6 percent until mid 2023, since then it has declined. Strong uptick in March 2026 (about 3 percent of total new registrations).
14912 49
Teun van den Brand @teunbrand.bsky.social · 23/04/2026
Also if the information is available, a crude indication of the type of animal could be displayed as t he point shape. I'd suggest Other, Arthropod, Fish, Mammal and maybe Bird as categories.
010 1
Teun van den Brand @teunbrand.bsky.social · 23/04/2026
I like the plots. I'd argue the text is too small if this is for a presentation slide or printed figure. It would be nice to have a reference line for the average trend to grok how much a particular animal deviates from that trend.
110 1