Skip to content

Instantly share code, notes, and snippets.

@tjmahr
Created January 20, 2026 20:00
Show Gist options
  • Select an option

  • Save tjmahr/4271deae00aefe9ff0cfd576a96f77c5 to your computer and use it in GitHub Desktop.

Select an option

Save tjmahr/4271deae00aefe9ff0cfd576a96f77c5 to your computer and use it in GitHub Desktop.
withr::local_temp_libpaths()
pak::pkg_install("ggplot2@3.5.2")
#> ℹ Loading metadata database✔ Loading metadata database ... done
#>  
#> → Will install 20 packages.
#> → Will download 18 CRAN packages (11.47 MB), cached: 2 (1.51 MB).
#> + cli            3.6.5  [dl] (1.40 MB)
#> + farver         2.1.2  [dl] (1.52 MB)
#> + ggplot2        3.5.2  [bld]
#> + glue           1.8.0  [dl] (183.69 kB)
#> + gtable         0.3.6  [dl] (249.67 kB)
#> + isoband        0.3.0  [dl] (1.98 MB)
#> + labeling       0.4.3  [dl] (63.42 kB)
#> + lifecycle      1.0.5  [dl] (149.81 kB)
#> + magrittr       2.0.4  [dl] (229.05 kB)
#> + pillar         1.11.1 [dl] (673.34 kB)
#> + pkgconfig      2.0.3  [dl] (22.81 kB)
#> + R6             2.6.1  [dl] (88.59 kB)
#> + RColorBrewer   1.1-3  [dl] (54.48 kB)
#> + rlang          1.1.7  [dl] (1.63 MB)
#> + scales         1.4.0  [dl] (877.87 kB)
#> + tibble         3.3.1  [dl] (667.34 kB)
#> + utf8           1.2.6  [dl] (155.23 kB)
#> + vctrs          0.7.0  
#> + viridisLite    0.4.2  [dl] (1.30 MB)
#> + withr          3.0.2  [dl] (231.63 kB)
#> ℹ Getting 18 pkgs (11.47 MB), 2 (1.51 MB) cached
#> ✔ Cached copy of R6 2.6.1 (i386+x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of RColorBrewer 1.1-3 (i386+x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of cli 3.6.5 (x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of farver 2.1.2 (x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of glue 1.8.0 (x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of gtable 0.3.6 (i386+x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of isoband 0.3.0 (x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of labeling 0.4.3 (i386+x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of lifecycle 1.0.5 (i386+x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of magrittr 2.0.4 (x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of pillar 1.11.1 (i386+x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of pkgconfig 2.0.3 (i386+x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of rlang 1.1.7 (x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of scales 1.4.0 (i386+x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of tibble 3.3.1 (x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of utf8 1.2.6 (x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of viridisLite 0.4.2 (i386+x86_64-w64-mingw32) is the latest build
#> ✔ Cached copy of withr 3.0.2 (i386+x86_64-w64-mingw32) is the latest build
#> ✔ Installed ggplot2 3.5.2  (773ms)
#> ✔ Installed R6 2.6.1  (865ms)
#> ✔ Installed RColorBrewer 1.1-3  (910ms)
#> ✔ Installed farver 2.1.2  (921ms)
#> ✔ Installed gtable 0.3.6  (952ms)
#> ✔ Installed labeling 0.4.3  (991ms)
#> ✔ Installed glue 1.8.0  (1.2s)
#> ✔ Installed isoband 0.3.0  (1.2s)
#> ✔ Installed cli 3.6.5  (1.4s)
#> ✔ Installed lifecycle 1.0.5  (1.3s)
#> ✔ Installed pkgconfig 2.0.3  (1.2s)
#> ✔ Installed pillar 1.11.1  (1.3s)
#> ✔ Installed rlang 1.1.7  (1.3s)
#> ✔ Installed magrittr 2.0.4  (1.5s)
#> ✔ Installed scales 1.4.0  (1.4s)
#> ✔ Installed tibble 3.3.1  (1.5s)
#> ✔ Installed utf8 1.2.6  (1.1s)
#> ✔ Installed vctrs 0.7.0  (1.1s)
#> ✔ Installed viridisLite 0.4.2  (1.1s)
#> ✔ Installed withr 3.0.2  (1.1s)
#> ✔ 1 pkg + 24 deps: kept 2, added 20 [15s]
self_name <- function(x) stats::setNames(x, x)
asNamespace("ggplot2") |> 
  ls(pattern = "Geom.") |> 
  self_name() |> 
  lapply(get, envir = asNamespace("ggplot2")) |> 
  lapply(function(obj) obj$default_aes) |> 
  # make sure every result has the aes nice printing method
  lapply(function(x) { 
    class(x) <- "uneval"
    x
  })
#> $GeomAbline
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomAnnotationMap
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey20"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> * `subgroup`  -> NULL
#> 
#> $GeomArea
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey20"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomBar
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey35"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomBlank
#> Aesthetic mapping: 
#> <empty>
#> 
#> $GeomBoxplot
#> Aesthetic mapping: 
#> * `weight`    -> 1
#> * `colour`    -> "grey20"
#> * `fill`      -> "white"
#> * `size`      -> NULL
#> * `alpha`     -> NA
#> * `shape`     -> 19
#> * `linetype`  -> "solid"
#> * `linewidth` -> 0.5
#> 
#> $GeomCol
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey35"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomContour
#> Aesthetic mapping: 
#> * `weight`    -> 1
#> * `colour`    -> "#3366FF"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomContourFilled
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey20"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> * `subgroup`  -> NULL
#> 
#> $GeomCrossbar
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `fill`      -> NA
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomCurve
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomCustomAnn
#> Aesthetic mapping: 
#> * `xmin` -> -Inf
#> * `xmax` -> Inf
#> * `ymin` -> -Inf
#> * `ymax` -> Inf
#> 
#> $GeomDensity
#> Aesthetic mapping: 
#> * `fill`      -> NA
#> * `weight`    -> 1
#> * `colour`    -> "black"
#> * `alpha`     -> NA
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> 
#> $GeomDensity2d
#> Aesthetic mapping: 
#> * `colour`    -> "#3366FF"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomDensity2dFilled
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey20"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> * `subgroup`  -> NULL
#> 
#> $GeomDotplot
#> Aesthetic mapping: 
#> * `colour`   -> "black"
#> * `fill`     -> "black"
#> * `alpha`    -> NA
#> * `stroke`   -> 1
#> * `linetype` -> "solid"
#> * `weight`   -> 1
#> 
#> $GeomErrorbar
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `width`     -> 0.5
#> * `alpha`     -> NA
#> 
#> $GeomErrorbarh
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `height`    -> 0.5
#> * `alpha`     -> NA
#> 
#> $GeomFunction
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomHex
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey50"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomHline
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomLabel
#> Aesthetic mapping: 
#> * `colour`     -> "black"
#> * `fill`       -> "white"
#> * `size`       -> 3.88
#> * `angle`      -> 0
#> * `hjust`      -> 0.5
#> * `vjust`      -> 0.5
#> * `alpha`      -> NA
#> * `family`     -> ""
#> * `fontface`   -> 1
#> * `lineheight` -> 1.2
#> 
#> $GeomLine
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomLinerange
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomLogticks
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> 1
#> 
#> $GeomMap
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey20"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> * `subgroup`  -> NULL
#> 
#> $GeomPath
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomPoint
#> Aesthetic mapping: 
#> * `shape`  -> 19
#> * `colour` -> "black"
#> * `size`   -> 1.5
#> * `fill`   -> NA
#> * `alpha`  -> NA
#> * `stroke` -> 0.5
#> 
#> $GeomPointrange
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `size`      -> 0.5
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `shape`     -> 19
#> * `fill`      -> NA
#> * `alpha`     -> NA
#> * `stroke`    -> 1
#> 
#> $GeomPolygon
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey20"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> * `subgroup`  -> NULL
#> 
#> $GeomQuantile
#> Aesthetic mapping: 
#> * `weight`    -> 1
#> * `colour`    -> "#3366FF"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomRaster
#> Aesthetic mapping: 
#> * `fill`  -> "grey20"
#> * `alpha` -> NA
#> 
#> $GeomRasterAnn
#> Aesthetic mapping: 
#> <empty>
#> 
#> $GeomRect
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey35"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomRibbon
#> Aesthetic mapping: 
#> * `colour`    -> NA
#> * `fill`      -> "grey20"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomRug
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomSegment
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomSf
#> Aesthetic mapping: 
#> * `shape`     -> NULL
#> * `colour`    -> NULL
#> * `fill`      -> NULL
#> * `size`      -> NULL
#> * `linewidth` -> NULL
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> * `stroke`    -> 0.5
#> 
#> $GeomSmooth
#> Aesthetic mapping: 
#> * `colour`    -> "#3366FF"
#> * `fill`      -> "grey60"
#> * `linewidth` -> 1
#> * `linetype`  -> 1
#> * `weight`    -> 1
#> * `alpha`     -> 0.4
#> 
#> $GeomSpoke
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomStep
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> 
#> $GeomText
#> Aesthetic mapping: 
#> * `colour`     -> "black"
#> * `size`       -> 3.88
#> * `angle`      -> 0
#> * `hjust`      -> 0.5
#> * `vjust`      -> 0.5
#> * `alpha`      -> NA
#> * `family`     -> ""
#> * `fontface`   -> 1
#> * `lineheight` -> 1.2
#> 
#> $GeomTile
#> Aesthetic mapping: 
#> * `fill`      -> "grey20"
#> * `colour`    -> NA
#> * `linewidth` -> 0.1
#> * `linetype`  -> 1
#> * `alpha`     -> NA
#> * `width`     -> NA
#> * `height`    -> NA
#> 
#> $GeomViolin
#> Aesthetic mapping: 
#> * `weight`    -> 1
#> * `colour`    -> "grey20"
#> * `fill`      -> "white"
#> * `linewidth` -> 0.5
#> * `alpha`     -> NA
#> * `linetype`  -> "solid"
#> 
#> $GeomVline
#> Aesthetic mapping: 
#> * `colour`    -> "black"
#> * `linewidth` -> 0.5
#> * `linetype`  -> 1
#> * `alpha`     -> NA

Created on 2026-01-20 with reprex v2.1.1

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment