Skip to content

Instantly share code, notes, and snippets.

View z3tt's full-sized avatar
👨‍💻
Coding at home

Cédric Scherer z3tt

👨‍💻
Coding at home
View GitHub Profile
@z3tt
z3tt / basic-gauge-ggplot.R
Created July 23, 2025 15:30
A basic gauge chart made with ggplot2 + coord_radial()
library(ggplot2)
value <- 7.3
ggplot() +
# Add gap to bottom
coord_radial(
start = 4/3 * pi, # 240°
end = 2/3 * pi, # 120°
expand = FALSE
@z3tt
z3tt / human-rights-protection-scores.R
Created December 29, 2022 18:51
Human Rights Protection Scores of USA and Germany
## packages
library(ggplot2)
library(dplyr)
library(tidyr)
library(ggbraid)
library(colorspace)
library(owidR)
# plus ggtext via namespace
@z3tt
z3tt / imp_berlin.R
Last active November 22, 2022 03:53
Imperviousness levels in and around Berlin, Germany
library(tidyverse)
library(sf)
library(terra)
library(stars)
library(ggspatial)
library(systemfonts)
library(patchwork)
register_variant(
name = "Input Mono Light",
@z3tt
z3tt / penguins_rainclouds.R
Last active July 9, 2025 20:02
Polished raincloud plot using the Palmer penguins data
library(dplyr)
library(forcats)
library(ggplot2)
library(palmerpenguins)
library(ggtext)
library(colorspace)
library(ragg)
url <- "https://raw.githubusercontent.com/allisonhorst/palmerpenguins/master/man/figures/lter_penguins.png"
img <- magick::image_read((url))
@z3tt
z3tt / 11_circular.R
Last active April 14, 2022 04:49
Create circular scatter plots of daily temperatures for selected cities
library(tidyverse)
## data:
## https://www.kaggle.com/datasets/sudalairajkumar/daily-temperature-of-major-cities?resource=download
temp <- read_csv(here::here("city_temperature.csv"))
## select a few interesting city around the world
temp_selected <-
temp %>%
#filter(str_detect(City, "New York|London|Helsinki|Shanghai|Rio|Jakarta|Cairo|Canberra|Delhi|Capetown|Hong Kong|Reykjavik")) %>%
@z3tt
z3tt / paygap_eustat_eu_dumbbell.Rmd
Last active March 24, 2022 21:15
Dumbbell Chart of Pay Gaps in Europe
---
title: "Gender Pay Gap: Dumbbell Plot (EU only)"
author:
- name: "Cédric Scherer"
url: www.cedricscherer.com
output:
distill::distill_article:
highlight: kate
code_folding: false
toc: true
@z3tt
z3tt / colors.R
Created November 5, 2021 15:22
Create custom ggplot scales
#' Function to extract Jupiter colors as hex codes
#'
#' @param ... Character names of colors
#'
#' @examples
#' jupiter_colors()
#' jupiter_colors("petrol")
#'
#' @export
jupiter_colors <- function(...) {
@z3tt
z3tt / bars_inside_labels.R
Last active October 29, 2023 04:17
Create colorful bar charts with percentage labels inside each bar
library(tidyverse)
library(systemfonts)
mpg_sum <- mpg %>%
## just use 2008 data
dplyr::filter(year == 2008) %>%
## turn into lumped factors with capitalized names
dplyr::mutate(
manufacturer = stringr::str_to_title(manufacturer),
manufacturer = forcats::fct_lump(manufacturer, n = 10)
@z3tt
z3tt / portland_heat.R
Created June 30, 2021 10:05
Visualizing the Heatwave in Portland in 2021
library(tidyverse)
library(systemfonts)
## data
## via https://projects.oregonlive.com/weather/temps/
df <-
readr::read_csv("https://projects.oregonlive.com/weather/pdx_temps.csv") %>%
mutate(yday = lubridate::yday(date),
year = lubridate::year(date),
decade = year %/% 10 * 10,
@z3tt
z3tt / data.R
Created June 14, 2021 10:28
Data for Raincloud Plots
set.seed(2021)
data <- tibble(
group = factor(c(rep("Group 1", 100), rep("Group 2", 250), rep("Group 3", 25))),
value = c(
## Group 1
seq(0, 20, length.out = 100),
## Group 2
c(rep(0, 5), rnorm(30, 2, .1), rnorm(90, 5.4, .1), rnorm(90, 14.6, .1), rnorm(30, 18, .1), rep(20, 5)),
## Group 3