Check out the beginner-friendly ‘easy geom_*() recipes’, which have been tested by new-comers, vetted by experts, is feedback-refined via surveys and focus groups, and are kept up-to-date (noting and soon incorporating ggplot2 4.0.0 release developments). You can also check out the under-development ggplot2 extension cookbook for more extension moves.

Additional educational resources include the extending ggplot2 chapters of the ggplot2 book (Programming with ggplot2, ggplot2 internals, Writing ggplot2 extensions, Case Study: Springs); the extending ggplot2 vignette; and the ggproto tag on StackOverflow.

Talks that may help orient you to extension include Extending your ability to extend ggplot2 by Thomas Lin Pederson at rstudio::conf 2020, Best practises for programming with ggplot2 by Dewey Dunnington at rstudio::conf 2020, and Cracking open ggplot internals with {ggtrace} by June Choe at rstudio::conf 2022.

Additional resources include the ggplot2 repository, the extensions gallery, the Awesome ggplot2 repository.

The ggplot2 extension ecosystem is vast the source code these packages can be an additional useful reference.

‘gg’ packages on CRAN and authors