Cédric Vidonne's Avatar

Cédric Vidonne

@cvidonne.bsky.social

Information Management Officer at UNHCR specialized in #DataViz and #maps. Love #rstats stuff, especially making charts with #ggplot2.

3,451 Followers  |  373 Following  |  61 Posts  |  Joined: 07.01.2024  |  1.7128

Latest posts by cvidonne.bsky.social on Bluesky

a table about lemurs

a table about lemurs

a table about students and schools

a table about students and schools

a table about wines

a table about wines

{tinytable} 0.14.0 for #RStats makes it super easy to draw tables in html, tex, docx, typ, md & png.

There are only a few functions to learn, but don't be fooled! Small 📦s can still be powerful.

Check out the new gallery page for fun case studies.

vincentarelbundock.github.io/tinytable/vi...

29.09.2025 12:44 — 👍 135    🔁 39    💬 1    📌 5
A ggplot2 chart that showcases adding personal branding thanks to the 'ggbranding' package

A ggplot2 chart that showcases adding personal branding thanks to the 'ggbranding' package

🚀 Just released **ggbranding** (v1) – a tiny R package that lets you brand `ggplot2` charts with Font Awesome 7 icons.

📝 Blog: gnoblet.github.io/blog/ggbrand...
💻 Code: github.com/gnoblet/ggbr...

#opensource #branding #package #rstats #dataviz #ggplot2

22.09.2025 08:50 — 👍 17    🔁 5    💬 2    📌 0
Preview
ggplot2 4.0.0 A new major version of ggplot2 has been released on CRAN. Find out what is new here.

I am beyond excited to announce that ggplot2 4.0.0 has just landed on CRAN.

It's not every day we have a new major #ggplot2 release but it is a fitting 18 year birthday present for the package.

Get an overview of the release in this blog post and be on the lookout for more in-depth posts #rstats

11.09.2025 11:20 — 👍 848    🔁 282    💬 9    📌 51
Bump chart faceted by world regions showing the top countries of asylum for refugees, asylum-seekers, and others in need of international protection. Overall patterns are stable, with some short-term ups and downs across regions.

Bump chart faceted by world regions showing the top countries of asylum for refugees, asylum-seekers, and others in need of international protection. Overall patterns are stable, with some short-term ups and downs across regions.

Couldn’t resist doing the same for countries of asylum.

Turns out the picture is way more stable, with a few ups and downs.

10.09.2025 07:56 — 👍 3    🔁 0    💬 0    📌 0
Bump chart faceted by world regions showing the top countries of origin of refugees, asylum-seekers, and others in need of international protection. Asia and Africa rank consistently high, driven by long-term crises such as Afghanistan and Sudan. The Americas and Europe also appear high due to more recent crises in Venezuela and Ukraine.

Bump chart faceted by world regions showing the top countries of origin of refugees, asylum-seekers, and others in need of international protection. Asia and Africa rank consistently high, driven by long-term crises such as Afghanistan and Sudan. The Americas and Europe also appear high due to more recent crises in Venezuela and Ukraine.

Inspired by @nrennie.bsky.social excellent #TidyTuesday plot on the power of passports, I adapted the idea to look at refugee origins.

This chart ranks countries of origin of refugees, asylum-seekers, and others in need of international protection, grouped by region.

#RStats #ggplot2 #Refugees

10.09.2025 07:14 — 👍 34    🔁 9    💬 3    📌 0
Post image Post image Post image

Learned today about @OpenFreeMapOrg - free, high-quality vector tiles for your maps and apps!

Use them in #rstats with mapgl by passing the URL to the style param, e.g.:

maplibre(style = "tiles.openfreemap.or...")

Styles include "positron", "bright", and "liberty" with 3D!

28.08.2025 13:58 — 👍 21    🔁 4    💬 1    📌 0

Feeling you on this — {unhcrthemes} is in the same dependencies nightmare right now.

26.08.2025 13:41 — 👍 0    🔁 0    💬 0    📌 0
Preview
Protecting the most vulnerable in South Sudan Assessing a Complex Crisis through Protection Risks Analysis

Just published: our new data story on efforts to protect South Sudan’s most vulnerable — including children, women, and persons with disabilities.

Explore how protection monitoring and partnerships are making a difference: dataviz.unhcr.org/product-gall...

#refugees #unhcr #protection

18.06.2025 12:25 — 👍 2    🔁 3    💬 1    📌 0
The landing page of the course "ggplot2 uncharted" with the title teasing it with "Master Data Visualizations with ggplot2".

The landing page of the course "ggplot2 uncharted" with the title teasing it with "Master Data Visualizations with ggplot2".

Excited to launch "ggplot2 [un]charted" with @yan-holtz.bsky.social! 🎉

An online course to master #ggplot2 with exercises, quizzes, and modules—and hands-on code running in your browser!

Still WIP—sign up now for a limited discount:
👉 www.ggplot2-uncharted.com

#rstats #DataViz #DataVisualization

12.05.2025 15:58 — 👍 165    🔁 51    💬 5    📌 11
# unz() lets you connect to a .zip and treat it like a mini file system, 
# and you can load files from inside it
one_zipped_csv_among_others <- readr::read_csv(
  unz("lotsa_zipped_csvs.zip"), "one_csv.csv"
)

# readr::read_csv() can read a .zip with a single CSV in it
one_zipped_csv <- readr::read_csv("big_zipped_file.zip")

# unz() lets you connect to a .zip and treat it like a mini file system, # and you can load files from inside it one_zipped_csv_among_others <- readr::read_csv( unz("lotsa_zipped_csvs.zip"), "one_csv.csv" ) # readr::read_csv() can read a .zip with a single CSV in it one_zipped_csv <- readr::read_csv("big_zipped_file.zip")

Thing I just learned in #rstats: unz() lets you connect to a .zip and load files from inside it without actually unzipping it (great for a file I'm working with that's 30 MB zipped and 1+ GB unzipped, with multiple CSVs in it)

18.04.2025 18:19 — 👍 233    🔁 47    💬 10    📌 3
Preview
Flux de migrants en zone endémique paludéenne (2016) Le site du World Population Project propose depuis quelques années au téléchargement, un jeu de données intéressant sur les flux de migrants internes à la zone endémique paludéenne africaine. Je me su...

Géovisualisation de flux de migrants internes à la zone endémique paludéenne africaine, à partir des données du @worldpop-uos.bsky.social
Réalisée avec #Arabesque dans #Neocarto #flowmap
🔗 neocarto.hypotheses.org/21980

07.05.2025 06:46 — 👍 8    🔁 7    💬 0    📌 0
Preview
Sudan: Crisis deepens but attention wanes after two years of war An unprecedented displacement crisis

Sudan: Two years already.
Millions displaced. Needs rising. Attention fading.
📊 See the full data story: shorturl.at/wn8HU
#Refugees #dataviz #unhcr

18.04.2025 11:14 — 👍 2    🔁 1    💬 0    📌 0
Mona Chalabi illustration for the UNHCR 2024 education report showing a pile of books that refugees children are climbing while learning and playing.

Mona Chalabi illustration for the UNHCR 2024 education report showing a pile of books that refugees children are climbing while learning and playing.

The Learning Divide

Our latest data story explores the stark educational challenges facing refugees in Mauritania and Mexico.

Explore the full story: dataviz.unhcr.org/product-gall...

#refugees #education #unhcr #dataviz

05.04.2025 08:11 — 👍 2    🔁 0    💬 0    📌 0
Map Migreurop 2022

Map Migreurop 2022

One day, one map
Far from the reality of state control
#Migrations #Cartography #Walls #Deaths #Camps #Borders
Source: Migreurop, 2022

20.03.2025 07:15 — 👍 8    🔁 6    💬 0    📌 0
Post image

Behold #rstats:

My (draft) variable naming standard
😎

14.03.2025 03:52 — 👍 27    🔁 2    💬 4    📌 1

One more bonus update with two changes:

1. A diverging color palette centered at 4% lets us see which counties are doing great or doing poorly
2. That size legend was spaced funnily, but we can make it more compact with {legendry}

#rstats

www.andrewheiss.com/blog/2025/02...

22.02.2025 19:39 — 👍 128    🔁 19    💬 7    📌 8
Cartogram of 299 German election districts

Cartogram of 299 German election districts

For the German election we wanted to use a cartogram of German election districts but didn't find anything good, so we created our own. Here's a little nerd thread how the final algorithm worked 🤓 🧵 #gis #cartogram #election #datavis #cartography

27.02.2025 16:48 — 👍 561    🔁 180    💬 20    📌 25

Datawrapper (@datawrapper.de) has some cool new charts (def check them out)! One being these comparison bars.

Here's one way to do it in #RStats #ggplot2

blog.datawrapper.de/comparison-c...

ray.so/KDVci6B

19.02.2025 16:42 — 👍 38    🔁 8    💬 0    📌 0
Screenshot of an interactive world map using the Robinson projection showing 2023 aid commitments in each country

Screenshot of an interactive world map using the Robinson projection showing 2023 aid commitments in each country

Western Europe mapped with a cropped Robinson projection with labels for each country

Western Europe mapped with a cropped Robinson projection with labels for each country

Egypt mapped with a cropped Robinson projection with labels for each country

Egypt mapped with a cropped Robinson projection with labels for each country

Table of contents for the post: 

Working with map data
Get map data
Maps and projections with Observable Plot
Built-in projections
Other projections
Filtering map data and adjusting projections
Removing elements
Quick and dirty cheating method: change the width or height
Built-in projections and domain settings
Other projections and .fitExtent()
Arbitrary areas and .fitExtent()
Working with USAID data
Get USAID data
Connect USAID data to the map data
Improving the map
Fixing labelling issues
Some final tweaks
The full game: Complete final code

Table of contents for the post: Working with map data Get map data Maps and projections with Observable Plot Built-in projections Other projections Filtering map data and adjusting projections Removing elements Quick and dirty cheating method: change the width or height Built-in projections and domain settings Other projections and .fitExtent() Arbitrary areas and .fitExtent() Working with USAID data Get USAID data Connect USAID data to the map data Improving the map Fixing labelling issues Some final tweaks The full game: Complete final code

New blog post! After archiving USAID data last week, I decided to play around with and recreate parts of the ForeignAssistance dot gov dashboard with #QuartoPub and #ObservableJS. I learned a ton about D3 projections and making pretty Javascript plots #dataskyence www.andrewheiss.com/blog/2025/02...

10.02.2025 22:55 — 👍 124    🔁 27    💬 7    📌 1
Post image

Selon “The New York Times”, le gouvernement de Donald Trump veut réduire les effectifs de l’Agence des États-Unis pour le développement international à moins de 300 personnes, contre plus de 10 000 actuellement.
Source : www.courrierinternational.com/article/etat...

10.02.2025 20:18 — 👍 15    🔁 9    💬 1    📌 0
Preview
Joining the ggplot2 team - Tidyverse I joined the ggplot2 team and would like to share the experience.

If you have used #ggplot2 in the last couple of years you owe a great deal to @teunbrand.bsky.social who is behind most of the new features and fixes.

Read about his journey to become a part of the ggplot2 core team here:

28.01.2025 09:09 — 👍 98    🔁 24    💬 3    📌 2
Preview
IUCN Red List Client IUCN Red List (<https://api.iucnredlist.org/>) client. The IUCN Red List is a global list of threatened and endangered species. Functions cover all of the Red List API routes. An API key is required.

📢 rredlist 📦 1.0.0 is now on #CRAN!!!

- upgrade to API v4 🤖
- handles API timeouts ⌚
- progress bar for multi-page queries 🚧
- IUCN color palette scales for ggplot2 🏳️‍🌈
- research pipeline and benchmarking vignettes 📄
- new logo 🦏

Docs 👉 docs.ropensci.org/rredlist/ind...

#rstats #iucn #redlist #api

31.01.2025 19:48 — 👍 17    🔁 5    💬 1    📌 0
Post image

Happy #Monday! Here’s something fun to get the week off to a good start!

🔮 What R package would you be based on your #zodiac sign?

Let me know if these resonate! 👀✨ #rstats #rladies

🧵👇 (1/13)

03.02.2025 14:12 — 👍 39    🔁 16    💬 5    📌 1
A tmap logo

A tmap logo

A screenshot of the tmap CRAN webpage.

A screenshot of the tmap CRAN webpage.

A map from tmap vignette

A map from tmap vignette

A map from tmap vignette

A map from tmap vignette

🚨 After years of development, the new version of #rstats tmap (4) is now available on CRAN! 🎉 Huge thanks to author Martijn Tennekes and all contributors.

🔧 Install: `install.packages("tmap")`
📚 Vignettes: https://buff.ly/4aAYNbq
📖 Book Chapter: https://buff.ly/43TokaF

#maps #tmap #rspatial

29.01.2025 15:00 — 👍 132    🔁 39    💬 5    📌 2

I wrote a bit about what it was like for me to join the tidyverse team to maintain ggplot2!

28.01.2025 09:21 — 👍 26    🔁 9    💬 2    📌 1
Map of missing migrants

Map of missing migrants

By compiling multiple sources of data, we reach the astonishing figure of 71,000 migrants who have died or been missing at the European border since the early 90s. A hecatomb caused by the migration policies of European countries.

24.01.2025 06:12 — 👍 245    🔁 145    💬 14    📌 19
Preview
- YouTube Enjoy the videos and music you love, upload original content, and share it all with friends, family, and the world on YouTube.

Why build a data viz standard for UNHCR? Cedric Vidonne’s team created a guide & custom ggplot theme for cohesive, branded visuals—essential for UNHCR’s data storytelling. 🎨📊
Learn more in our latest episode!

https://buff.ly/3OiR4V9

#rstats

03.12.2024 15:00 — 👍 8    🔁 2    💬 0    📌 0
Cartographie du Soudan et du Soudan du Sud qui montre les zones d'insécurité alimentaire, la répartitions des camps de réfugiés et des personnes déplacées internes ainsi que les lieux où ont été enregistrées des violences contre les populations civiles.

Cartographie du Soudan et du Soudan du Sud qui montre les zones d'insécurité alimentaire, la répartitions des camps de réfugiés et des personnes déplacées internes ainsi que les lieux où ont été enregistrées des violences contre les populations civiles.

03 - #CartoHebdo - Situation humanitaire au Soudan et au Soudan du Sud

Suite à la guerre civile au Soudan et aux inondations au Soudan du Sud, plus de 24 millions de personnes au Soudan et 7 millions de personnes au Soudan du Sud se retrouvent au moins en situation d'insécurité alimentaire aigüe.

21.01.2025 07:10 — 👍 15    🔁 5    💬 1    📌 0
Image shows samples for 11 different color palettes

Image shows samples for 11 different color palettes

UNHCR published its ggplot2 theme and color palettes in their {unhcrthemes} #RStats 📦
unhcr-dataviz.github.io/unhcrthemes/
By @cvidonne.bsky.social & @ahmadoudicko.com

20.01.2025 16:39 — 👍 22    🔁 9    💬 0    📌 1
GitHub - unhcr-dataviz/rmsdown: Results Monitoring Surveys PDF report template Results Monitoring Surveys PDF report template. Contribute to unhcr-dataviz/rmsdown development by creating an account on GitHub.

We also developed tools for some more specific brand or project, like rmsdown (github.com/unhcr-datavi...) or cccmdown (github.com/unhcr-datavi...). I guess next step will be #QuartoPub extensions which we started but need to find a way to package it together. If someone has an idea 😜

17.01.2025 16:03 — 👍 0    🔁 0    💬 1    📌 0

@cvidonne is following 20 prominent accounts