Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/erikgahner/awesome-ggplot2?tab=readme-ov-file

A curated list of awesome ggplot2 tutorials, packages etc.
https://github.com/erikgahner/awesome-ggplot2?tab=readme-ov-file

List: awesome-ggplot2?tab=readme-ov-file

data-visualization geoms ggplot2 ggplot2-themes scales

Last synced: about 1 month ago
JSON representation

A curated list of awesome ggplot2 tutorials, packages etc.

Awesome Lists containing this project

README

        

# Awesome `ggplot2` [![Awesome](https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg)](https://github.com/sindresorhus/awesome) [](https://ggplot2.tidyverse.org/)

# General

* [Official website](https://ggplot2.tidyverse.org/)
* [Reference](https://ggplot2.tidyverse.org/reference/index.html)
* [A List of ggplot2 extensions](https://exts.ggplot2.tidyverse.org/)

# Persons (Webpage + Mastodon)

* [Hadley Wickham](http://hadley.nz/) ([@hadleywickham](https://fosstodon.org/@hadleywickham))
* [Kieran Healy](https://kieranhealy.org/) ([@kjhealy](https://mastodon.social/@kjhealy))
* [Claus Wilke](https://clauswilke.com/)
* [Thomas Lin Pedersen](https://www.data-imaginist.com/)
* Winston Chang ([@winston_chang](https://mastodon.social/@winston_chang))
* [Lionel Henry](https://github.com/lionel-) ([@lionel](https://floss.social/@lionel))
* [Kara Woo](https://karawoo.com/)
* [Hiroaki Yutani](https://yutani.rbind.io/)
* [Dewey Dunnington](https://fishandwhistle.net/)

# R packages

## Plot layers

* {[biscale](https://chris-prener.github.io/biscale/)}: Bivariate Mapping with ggplot2
* {[calendR](https://github.com/R-CoderDotCom/calendR)}: Fully customizable ready to print monthly and yearly calendars made with ggplot2
* {[complex-upset](https://krassowski.github.io/complex-upset/)}: A library for creating complex UpSet plots with ggplot2 geoms
* {[corrmorant](https://github.com/r-link/corrmorant)}: R package for flexible correlation matrices based on ggplot2
* {[dbplot](https://edgararuiz.github.io/dbplot/)}: Simplifies plotting of database and sparklyr data
* {[directlabels](https://tdhock.github.io/directlabels/)}: Direct labels for multicolor plots in lattice or ggplot2
* {[donutsk](https://dkibalnikov.github.io/donutsk/)}: Construct Advanced Donut Charts
* {[easyalluvial](https://erblast.github.io/easyalluvial/)}: Create alluvial plots with a single line of code
* {[econocharts](https://r-coder.com/economics-charts-r/)}: Economics charts in R using ggplot2
* {[effectclass](https://inbo.github.io/effectclass/)}: Display uncertainty and effect classification with ggplot2 or plotly
* {[ezplot](https://cran.r-project.org/web/packages/ezplot/)}: Functions for Common Chart Types
* {[flowmapper](https://github.com/JohMast/flowmapper)}: Draw flows (migration, goods, money, information) on ggplots
* {[ganttrify](https://ganttrify.europeandatajournalism.eu/)}: Create beautiful Gantt charts with ggplot2
* {[geomtextpath](https://allancameron.github.io/geomtextpath/)}: Create curved text paths in ggplot2
* {[ggalignment](https://github.com/aftonsteps/ggalignment)}: R package for creating D&D alignment charts
* {[ggalluvial](http://corybrunson.github.io/ggalluvial/)}: ggplot2 extension for alluvial plots
* {[ggalt](https://github.com/hrbrmstr/ggalt)}: Extra Coordinate Systems, Geoms, Statistical Transformations & Scales for 'ggplot2'
* {[ggambit](https://github.com/cj-holmes/ggambit)}: Visualise FEN chess positions with ggplot2
* {[gganatogram](https://github.com/jespermaag/gganatogram)}: Create anatograms using ggplot2
* {[ggarchery](https://github.com/mdhall272/ggarchery)}: Flexible segment geoms with arrows for ggplot2
* {[ggarrow](https://teunbrand.github.io/ggarrow/)}: ggplot2 extension: more options for drawing arrows
* {[ggasym](https://jhrcook.github.io/ggasym/index.html)}: Plots three different color schemes on the top-left and bottom-right triangles and the diagonal of a symmetric matrix
* {[ggbeeswarm](https://github.com/eclarke/ggbeeswarm)}: Column scatter / beeswarm-style plots in ggplot2
* {[ggblanket](https://davidhodge931.github.io/ggblanket/)}: Simplify ggplot2 visualisation
* {[ggblend](https://mjskay.github.io/ggblend/)}: Support for blend modes in ggplot2
* {[ggblur](https://github.com/coolbutuseless/ggblur)}: Blurry Point Geom for ggplot2
* {[ggborderline](https://wurli.github.io/ggborderline)}: Provides a set of geoms to make line plots a little bit nicer
* {[ggbrace](https://github.com/NicolasH2/ggbrace)}: Curly Braces for 'ggplot2'
* {[ggbraid](https://nsgrantham.github.io/ggbraid/)}: Braid two lines and a ribbon in ggplot2
* {[ggbrain](https://michaelhallquist.github.io/ggbrain/)}: R package for creating plots of brains using ggplot
* {[ggbrick](https://github.com/doehm/ggbrick)}: A brick like geom for ggplot2
* {[ggbump](https://github.com/davidsjoberg/ggbump)}: A geom for ggplot to create bump plots
* {[ggcalendar](https://github.com/EvaMaeRey/ggcalendar)}: x and y position as days in month
* {[ggcats](https://github.com/R-CoderDotCom/ggcats)}: The geom you always wished for adding cats to ggplot2
* {[ggchicklet](https://cinc.rud.is/web/packages/ggchicklet/)}: Create Chicklet (Rounded Segmented Column) Charts
* {[ggcleveland](https://github.com/mpru/ggcleveland)}: Implementation of plots from Cleveland's Visualizing Data book in ggplot2
* {[ggconsort](https://tgerke.github.io/ggconsort/)}: An R package for creating CONSORT diagrams with ggplot
* {[ggcorrplot](https://rpkgs.datanovia.com/ggcorrplot/)}: Visualization of a correlation matrix using ggplot2
* {[ggcorr](https://briatte.github.io/ggcorr/)}: Correlation matrixes with ggplot2
* {[ggcorset](https://github.com/kbelisar/ggcorset)}: Introducing corset plots
* {[ggpcp](https://cran.r-project.org/web/packages/ggpcp/index.html)}: Parallel Coordinate Plots in the 'ggplot2' Framework
* {[ggdemetra](https://aqlt.github.io/ggdemetra/)}: ggplot2 extension for seasonal and trading day adjustment with RJDemetra
* {[ggdensity](https://jamesotto852.github.io/ggdensity/)}: An R package for interpretable visualizations of density estimates
* {[ggeconodist](https://github.com/hrbrmstr/ggeconodist)}: Create Diminutive Distribution Charts
* {[ggdag](https://ggdag.malco.io/)}: An R Package for visualizing and analyzing causal directed acyclic graphs
* {[ggdaynight](https://github.com/GabrielSlPires/ggdaynight)}: Add Day/Night Patterns to ggplot2 Plots
* {[ggdirectlabel](https://github.com/MattCowgill/ggdirectlabel)}: Make it easier to directly label ggplot2 charts
* {[ggdist](https://mjskay.github.io/ggdist/)}: Visualizations of distributions and uncertainty
* {[ggDoubleHeat](https://pursuitofdatascience.github.io/ggDoubleHeat/)}: A heatmap-like visualization tool
* {[ggExtra](https://github.com/daattali/ggExtra)}: Add marginal histograms to ggplot2, and more ggplot2 enhancements
* {[ggfacto](https://github.com/BriceNocenti/ggfacto)}: Graphs for correspondence analysis
* {[ggflowchart](https://nrennie.github.io/ggflowchart/)}: R package for producing flowcharts using ggplot2
* {[ggfreehand](https://github.com/dgrtwo/ggfreehand)}: Add freehand circles to ggplot2 graphs
* {[ggfun](https://github.com/YuLab-SMU/ggfun)}: Miscellaneous Functions for 'ggplot2'
* {[gggenes](https://github.com/wilkox/gggenes)}: Draw gene arrow maps in ggplot2
* {[gggenomes](https://thackl.github.io/gggenomes/)}: A grammar of graphics for comparative genomics
* {[gggibbous](https://github.com/mnbram/gggibbous)}: Moon charts, a pie chart alternative, for ggplot2
* {[gghalves](https://erocoar.github.io/gghalves/)}: Easy half-half geoms in ggplot2
* {[gghdr](https://github.com/Sayani07/gghdr)}: Plots of highest density regions (HDR) for ggplot2
* {[gghilbertstrings](https://sumidu.github.io/gghilbertstrings/)}: Create Hilbert curves in ggplot2
* {[ggHoriPlot](https://rivasiker.github.io/ggHoriPlot/)}: build horizon plots in ggplot2
* {[ggimg](https://github.com/statsmaths/ggimg)}: Graphics Layers for Plotting Image Data with ggplot2
* {[ggkeyboard](https://github.com/sharlagelfand/ggkeyboard)}: Make a keyboard using ggplot2
* {[ggmacc](https://github.com/aj-sykes92/ggmacc)}: R package repository for building marginal abatement cost curves with ggplot2
* {[ggmosaic](https://haleyjeppson.github.io/ggmosaic/)}: Mosaicplots in the ggplot2 framework
* {[ggmsa](http://yulab-smu.top/ggmsa/)}: a visual exploration tool for multiple sequence alignment and associated data
* {[ggmulti](https://github.com/great-northern-diver/ggmulti)}: Package for adding some multivariate visualizations to ggplot2
* {[ggnormalviolin](https://wjschne.github.io/ggnormalviolin/index.html)}: Makes normal violin plots with specified means and standard deviations
* {[ggonion](https://i2z1.github.io/ggonion/)}: R package for drawing onion diagrams via ggplot2
* {[ggordiplots](https://github.com/jfq3/ggordiplots)}: Make ggplot Versions of Vegan's Ordiplots
* {[ggpackets](https://dgkf.github.io/ggpackets/)}: Cleaner composition of ggplot layers
* {[ggparliament](https://github.com/RobWHickman/ggparliament)}: Simple parliament plots using ggplot2
* {[ggpercentogram](https://github.com/eliocamp/ggpercentogram)}: Create equal-area histograms with 'ggplot2'
* {[ggpie](https://github.com/Rkabacoff/ggpie)}: Create pie charts using ggplot2
* {[ggPlantmap](https://github.com/leonardojo/ggPlantmap)}: Generate ggplot maps from plant images
* {[ggplateplot](https://github.com/teunbrand/ggplateplot)}: make plots resembling cell culture microwell plates
* {[ggpointdensity](https://github.com/LKremer/ggpointdensity)}: A Cross Between a Scatter Plot and a 2D Density Plot
* {[ggpointgrid](https://github.com/nevrome/ggpointgrid)}: Rearrange scatter plot points on a regular grid
* {[ggpointless](https://flrd.github.io/ggpointless/)}: A point layer to emphasize some observations
* {[ggpolar](https://github.com/ShixiangWang/polar)}: Dots and Their Connections in Polar Coordinate System
* {[ggsankeyfier](https://pepijn-devries.github.io/ggsankeyfier/)}: Create Sankey and Alluvial Diagrams Using ggplot2
* {[ggsector](https://github.com/yanpd01/ggsector)}: Use R language to draw sector
* {[ggseqlogo](https://omarwagih.github.io/ggseqlogo/)}: Generating publication-ready sequence logos in R using ggseqlogo
* {[ggshadow](https://github.com/marcmenem/ggshadow)}: Shadow Geoms for ggplot2
* {[ggshakeR](https://github.com/abhiamishra/ggshakeR)}: An analysis and visualization R package that works with publicly available soccer data
* {[ggsoccer](https://torvaney.github.io/ggsoccer/)}: Plot soccer event data in R/ggplot2
* {[ggspectra](https://bitbucket.org/aphalo/ggspectra/)}: Plotting spectra with ggplot2
* {[ggstamp](https://evamaerey.github.io/ggstamp/)}: stamp_* as an API for annotation layers
* {[ggstance](https://github.com/lionel-/ggstance)}: Horizontal ggplot2 components
* {[ggpage](https://emilhvitfeldt.github.io/ggpage/)}: Creates Page Layout Visualizations in R
* {[ggparallel](https://heike.github.io/ggparallel/)}: R package for creating hammock plots and parallel sets plots using the ggplot2 framework
* {[ggperiodic](https://github.com/eliocamp/ggperiodic)}: Easy plotting of periodic data with ggplot2
* {[ggplate](https://jpquast.github.io/ggplate/)}: Create Layout Plots of Biological Culture Plates and Microplates
* {[ggpol](https://github.com/erocoar/ggpol)}: Parliament diagrams and more for ggplot2
* {[ggpolypath](https://mdsumner.github.io/ggpolypath/)}: Polygons with holes for ggplot2
* {[ggpp](https://github.com/aphalo/ggpp)}: Grammar of graphics extensions to 'ggplot2'
* {[ggpubr](https://rpkgs.datanovia.com/ggpubr/)}: 'ggplot2' Based Publication Ready Plots
* {[ggquiver](http://pkg.mitchelloharawild.com/ggquiver/)}: R package for quiver plots in 'ggplot2'
* {[ggqr](https://github.com/coolbutuseless/ggqr)}: ggplot2 geom for QR codes
* {[ggradar](https://github.com/ricardo-bion/ggradar)}: radar charts with ggplot2
* {[ggrain](https://github.com/njudd/ggrain)}: Make beautiful Raincloud plots in R
* {[ggraph](https://ggraph.data-imaginist.com/)}: A grammar of graphics for relational data
* {[ggrastr](https://github.com/VPetukhov/ggrastr)}: Raster geoms for ggplot2
* {[ggrepel](https://ggrepel.slowkow.com/)}: Repel overlapping text labels away from each other
* {[ggreverse](https://github.com/coolbutuseless/ggreverse)}: Reverse a ggplot object back into code
* {[ggrgl](https://coolbutuseless.github.io/package/ggrgl/)}: 3D Graphics Using the Grammar of Graphics
* {[ggridges](https://wilkelab.org/ggridges/)}: Ridgeline plots in ggplot2
* {[ggrounded](https://botan.github.io/ggrounded/)}: Rounded Bar Plots
* {[ggsankey](https://github.com/davidsjoberg/ggsankey)}: The goal of ggsankey is to make beautiful sankey, alluvial and sankey bump plots in ggplot2
* {[ggsc](https://github.com/YuLab-SMU/ggsc)}: Visualizing single cell data
* {[ggScatRidges](https://github.com/matbou85/ggScatRidges)}: Scatter Plot Combined with Ridgelines in 'ggplot2'
* {[ggscidca](https://cran.r-project.org/web/packages/ggscidca/)}: Plotting Decision Curve Analysis with Coloured Bars
* {[ggseqplot](https://maraab23.github.io/ggseqplot/)}: Render Sequence Plots using 'ggplot2'
* {[ggside](https://github.com/jtlandis/ggside)}: ggplot2 extension allowing for plotting various geometries as side panels
* {[ggsignif](https://github.com/const-ae/ggsignif)}: Easily add significance brackets to your ggplots
* {[ggsolar](https://github.com/hrbrmstr/ggsolar)}: Generate "solar system" plots with {ggplot2}
* {[ggspark](https://github.com/marcboschmatas/ggspark)}: ggplot2 Functions to Create Tufte Style Sparklines
* {[ggstraw](https://github.com/nacnudus/ggstraw)}: geom_straw for ggplot2
* {[ggstream](https://github.com/davidsjoberg/ggstream)}: A package to make streamplots
* {[ggsvg](https://github.com/coolbutuseless/ggsvg)}: Use SVG images as ggplot points
* {[ggtda](https://github.com/rrrlw/ggtda)}: ggplot2 extension to visualize persistent homology
* {[ggtern](http://www.ggtern.com/)}: An extension to ggplot2, for the creation of ternary diagrams
* {[ggtikz](https://github.com/osthomas/ggtikz)}: Add TikZ annotations with absolute data or relative plot coordinates to ggplots
* {[ggthreed](https://github.com/coolbutuseless/ggthreed)}: 3d geoms and stats for ggplot
* {[ggtree](https://github.com/YuLab-SMU/ggtree)}: Visualization and annotation of phylogenetic trees
* {[ggtrendline](https://github.com/PhDMeiwp/ggtrendline)}: An R Package for Adding Trendline and Confidence Interval to "ggplot"
* {[ggtricks](https://abdoulma.github.io/ggtricks/)}: Create Sector and Other Charts Easily Using Grammar of Graphics
* {[ggvenn](https://github.com/yanlinlin82/ggvenn)}: Venn Diagram by ggplot2, with really easy-to-use API
* {[ggVennDiagram](https://github.com/gaospecial/ggVennDiagram)}: A 'ggplot2' implement of Venn Diagram
* {[ggvolcano](https://cran.r-project.org/web/packages/ggvolcano/)}: Publication-Ready Volcano Plots
* {[ggvoronoi](https://github.com/garretrc/ggvoronoi/)}: Easy Voronoi diagram heatmaps with ggplot2
* {[ggvwline](https://github.com/Hy4m/ggvwline)}: Layer functions for drawing variable-width curves
* {[ggwaffle](https://liamgilbey.github.io/ggwaffle/)}: Creating waffle charts in a ggplot friendly way
* {[ggweekly](https://github.com/gadenbuie/ggweekly)}: Easy, printable, custom calendars and week planners
* {[ggwordcloud](https://lepennec.github.io/ggwordcloud/)}: A word cloud geom for ggplot2
* {[ggxmean](https://github.com/EvaMaeRey/ggxmean)}: Put a vertical line at the mean of x w/ geom_xmean() and do other stuff
* {[jjPlot](https://github.com/junjunlab/jjPlot)}: funny geom/stat functions for visualization
* {[likert](https://jbryer.github.io/likert/)}: Analysis and Visualization Likert Items
* {[linkET](https://github.com/Hy4m/linkET)}: Toolbox for heatmap and mantel test plot.
* {[parttree](https://github.com/grantmcdermott/parttree)}: Simple package for plotting decision tree partitions in R
* {[patternplot](https://cran.r-project.org/web/packages/patternplot/)}: Versatile Pie Charts, Ring Charts, Bar Charts and Box Plots using Patterns, Colors and Images
* {[plotcli](https://github.com/cheuerde/plotcli)}: Convert ggplot2 objects to colored terminal plots
* {[plotthis](https://pwwang.github.io/plotthis/)}: High-Level Plotting Built Upon 'ggplot2' and Other Plotting Packages
* {[scattermore](https://github.com/exaexa/scattermore)}: very fast scatterplots for R
* {[see](https://easystats.github.io/see/)}: Visualisation toolbox for beautiful and publication-ready figures
* {[shadowtext](https://github.com/GuangchuangYu/shadowtext)}: shadow text for grid and ggplot2
* {[smplot2](https://github.com/smin95/smplot2)}: Create and annotate composite plots in R and ggplot2
* {[superheat](https://rlbarter.github.io/superheat/)}: An R package for generating beautiful and customizable heatmaps
* {[swimplot](https://cran.r-project.org/web/packages/swimplot/)}: Tools for Creating Swimmers Plots using 'ggplot2'
* {[treemapify](http://wilkox.org/treemapify/)}: Draw treemaps in ggplot2
* {[visdat](https://docs.ropensci.org/visdat/)}: Preliminary Exploratory Visualisation of Data
* {[waffle](https://github.com/hrbrmstr/waffle)}: Make waffle (square pie) charts in R
* {[waterfalls](https://github.com/hughparsonage/waterfalls)}: R package to create waterfall charts
* {[WVPlots](https://winvector.github.io/WVPlots/)}: Pre-packaged plots in R

## Themes and aesthetics

* {[add2ggplot](https://jiaxiangbu.github.io/add2ggplot/)}: Add more themes for your ggplot object
* {[afcharts](https://best-practice-and-impact.github.io/afcharts/)}: Produce Charts Following UK Government Analysis Function Guidance
* {[amerika](https://github.com/pdwaggoner/amerika)}: An American politics-inspired color palette generator
* {[bbplot](https://github.com/bbc/bbplot)}: R package that helps create and export ggplot2 charts in the style used by the BBC News data team
* {[blueycolors](https://ekholme.github.io/blueycolors/)}: Provides bluey-inspired color palettes and ggplot2 scales
* {[ButterflyColors](https://junqueiragaabi.github.io/ButterflyColors/)}: Color palette for data visualization based on butterfly species
* {[colorBlindnessSafe](https://cran.r-project.org/web/packages/colorBlindness/)}: Color Set for Color Blindness
* {[cols4all](https://github.com/mtennekes/cols4all)}: Colors for all (R package)
* {[cyberpunk](https://github.com/r-coderdotcom/cyberpunk)}: A function to create cyberpunk-style graphs with R based on ggplot2
* {[darknerdthemes](https://github.com/xvzftube/darknerdthemes)}: Dark ggplots themes for nerds
* {[DOYPAColors](https://github.com/jmestret/DOYPAColors)}: Don't Overthink Your Palette of Colors
* {[duke](https://aidangildea.github.io/duke/)}: Creating a Color-Blind Friendly Duke Color Package
* {[dutchmasters](https://github.com/EdwinTh/dutchmasters)}: R package with colour palettes derived from famous paintings by 17th century Dutch masers
* {[tricolore](https://github.com/jschoeley/tricolore)}: A flexible color scale for ternary compositions
* {[ggdc](https://github.com/datacamp/ggdc)}: Datacamp Themes for ggplot2
* {[ggcharts](https://github.com/thomas-neitmann/ggcharts)}: Get You to Your Desired Plot Faster
* {[ggcute](https://github.com/sharlagelfand/ggcute/)}: Cute things for ggplot2
* {[ggdark](https://github.com/nsgrantham/ggdark)}: Dark mode for ggplot2 themes
* {[ggDracula](https://github.com/dracula/ggplot2)}: Dracula for ggplot2
* {[ggchromatic](https://teunbrand.github.io/ggchromatic/)}: Colour and fill scales for 'ggplot2' using colour spaces
* {[ggCyberPunk](https://github.com/delabj/ggCyberPunk)}: Working on creating a similar cyberpunk geom for ggplot
* {[ggeasy](https://github.com/jonocarroll/ggeasy)}: Easy Access to 'ggplot2' Commands
* {[ggedit](https://github.com/yonicd/ggedit)}: Interactively edit ggplot layer aesthetics and theme definitions
* {[ggfittext](https://github.com/wilkox/ggfittext)}: ggplot2 geoms to fit text into boxes
* {[ggfx](https://github.com/thomasp85/ggfx)}: ggfx is a (currently experimantal) package that allows the use of various filters and shaders on ggplot2 layers
* {[ggGenshin](https://restlesstail.github.io/ggGenshin/)}: a collection of Genshin-styled color schemes
* {[gghdx](https://github.com/OCHA-DAP/gghdx)}: HDX Theme, Scales, and Other Conveniences for 'ggplot2'
* {[gglaplot](https://github.com/Greater-London-Authority/gglaplot)}: Makes graphics in the GLA style using ggplot2
* {[gglgbtq](https://turtletopia.github.io/gglgbtq/)}: Provides multiple palettes based on pride flags with tailored themes
* {[ggnewscale](https://github.com/eliocamp/ggnewscale)}: Multiple Fill and Color Scales in 'ggplot2'
* {[ggnuplot](https://github.com/hriebl/ggnuplot)}: Make your ggplots look like gnuplots
* {[ggokabeito](https://malcolmbarrett.github.io/ggokabeito/)}: Colorblind-friendly, qualitative Okabe-Ito Scales for ggplot2 and ggraph
* {[ggpomological](https://www.garrickadenbuie.com/project/ggpomological/)}: Pomological plot theme for ggplot2
* {[ggprism](https://csdaw.github.io/ggprism/)}: ggplot2 extension inspired by GraphPad Prism
* {[ggrough](https://xvrdm.github.io/ggrough/)}: Convert ggplot2 chart to roughjs
* {[ggRtsy](https://github.com/katelyndiaz/ggRtsy)}: Add Some Van Gogh Colors and Overlay Colors on Your 'ggplot()'
* {[ggsci](https://nanx.me/ggsci/)}: Scientific journal and sci-fi themed color palettes for ggplot2
* {[ggseg](https://ggseg.github.io/ggseg/)}: Plotting tool for brain atlases, in ggplot
* {[ggstar](https://github.com/xiangpin/ggstar/)}: Star layer for ggplot2
* {[ggtea](https://cran.r-project.org/web/packages/ggtea/)}: Palettes and Themes for 'ggplot2'
* {[ggtech](https://github.com/ricardo-bion/ggtech)}: ggplot2 tech themes, scales, and geoms
* {[ggtext](https://github.com/wilkelab/ggtext)}: Improved text rendering support for ggplot2
* {[ggtextures](https://github.com/clauswilke/ggtextures)}: Drawing textured rectangles and bars with ggplot
* {[ggthemes](https://jrnold.github.io/ggthemes/)}: Additional themes, scales, and geoms for ggplot2
* {[ggthemeUL](https://cran.r-project.org/web/packages/ggthemeUL/)}: A 'ggplot' Theme for University of Ljubljana
* {[ggthemr](https://github.com/cttobin/ggthemr)}: Themes for ggplot2
* {[ggx](https://github.com/brandmaier/ggx)}: Translate natural language commands into ggplot commands
* {[harrypotter](https://github.com/aljrico/harrypotter)}: Harry Potter inspired palette for R
* {[hrbrthemes](https://github.com/hrbrmstr/hrbrthemes)}: Opinionated, typographic-centric ggplot2 themes and theme components
* {[INBOtheme](https://inbo.github.io/INBOtheme)}: Corporate identity theme for the Research Institute for Nature and Forest (INBO)
* {[jcolors](https://jaredhuling.org/jcolors/)}: Colors Palettes for R and 'ggplot2', Additional Themes for 'ggplot2'
* {[LaCroixColoR](https://github.com/johannesbjork/LaCroixColoR)}: LaCroix Color Palettes for R
* ([lemon](https://github.com/stefanedwards/lemon)): Freshing up your ggplots
* {[mdthemes](https://github.com/thomas-neitmann/mdthemes)}: Markdown Themes for 'ggplot2'
* {[MetBrewer](https://github.com/BlakeRMills/MetBrewer)}: Color palette package in R inspired by works at the Metropolitan Museum of Art in New York
* {[MexBrewer](https://paezha.github.io/MexBrewer/)}: Color Palettes Inspired by Works Mexican Muralists
* {[mexicolors](https://github.com/alexplatasl/mexicolors)}: A Mexican politics-inspired color palette generator
* {[MoMAColors](https://github.com/BlakeRMills/MoMAColors)}: Color Schemes based around artwork and the Museum of Modern Art
* {[monochromeR](https://github.com/cararthompson/monochromeR)}: A package for creating monochrome colour palettes and easily converting rgba values to hex codes
* {[NatParksPalettes](https://github.com/kevinsblake/NatParksPalettes)}: Color palette package inspired by National Parks
* {[nord](https://github.com/jkaupp/nord)}: Northern-themed Color palettes
* {[onsvplot](https://pabsantos.github.io/onsvplot/)}: National Road Safety Observatory (ONSV) Style for 'ggplot2' Graphics
* {[paletteer](https://emilhvitfeldt.github.io/paletteer/)}: Collection of most color palettes in a single R package
* {[pilot](https://github.com/olihawkins/pilot)}: A minimal ggplot2 theme with an accessible discrete color palette
* {[peRReo](https://github.com/jbgb13/peRReo)}: R color palettes inspired by reggaeton and latin albums
* {[PrettyCols](https://nrennie.github.io/PrettyCols/)}: R package containing pretty colour palettes.
* {[rcartocolor](https://jakubnowosad.com/rcartocolor/)}: Implementation of the CARTOcolor palettes in R
* {[Rdune](https://github.com/nvietto/Rdune)}: Creates color palettes inspired by "Dune"
* {[rockthemes](https://johnmackintosh.com/rockthemes/)}: R colour palettes based on classic rock albums and some other ones
* {[savonliquide](https://github.com/feddelegrand7/savonliquide)}: Check for Color Contrast Accessibility in R
* {[scico](https://github.com/thomasp85/scico)}: Palettes for R based on the Scientific Colour-Maps
* {[soilpalettes](https://github.com/kaizadp/soilpalettes)}: R color palettes inspired by soil profiles
* {[stevethemes](http://svmiller.com/stevethemes/)}: Steve’s ggplot2 Themes and Related Theme Elements
* {[tgamtheme](https://globeandmail.github.io/tgamtheme/)}: Globe and Mail Graphics Theme for 'ggplot2'
* {[thematic](https://rstudio.github.io/thematic/)}: Unified and automatic theming of ggplot2, lattice, and base R graphics
* {[ThemePark](http://matthewbjane.com/ThemePark/)}: Fun ggplot themes for popular culture
* {[tinythemes](https://github.com/eddelbuettel/tinythemes)}: Lightweight Repackaging of 'Themes' for 'ggplot2'
* {[trekcolors](https://leonawicz.github.io/trekcolors/)}: Strak Trek color palettes
* {[tvthemes](https://ryo-n7.github.io/tvthemes/)}: ggplot2 themes and palettes based on your favorite TV shows
* {[unhcrthemes](https://vidonne.github.io/unhcrthemes/)}: UNHCR branded theme for ggplot2 and data visualization colour palettes
* {[unicol](https://hneth.github.io/unicol/)}: The colors of your university
* {[urbnthemes](https://urbaninstitute.github.io/urbnthemes/index.html)}: Urban Institute's ggplot2 theme and tools
* {[viridis](http://sjmgarnier.github.io/viridis)}: Colorblind-Friendly Color Maps for R
* {[wesanderson](https://github.com/karthik/wesanderson)}: A Wes Anderson color palette for R
* {[wsjplot](https://cran.r-project.org/web/packages/wsjplot/)}: Style Time Series Plots Like the Wall Street Journal

## Presentation, composition and scales

* {[aplot](https://github.com/YuLab-SMU/aplot)}: Decorate a plot with associated information
* {[camcorder](https://github.com/thebioengineer/camcorder)}: Record plots generated during an R session and replay as a gif!
* {[cowplot](https://wilkelab.org/cowplot/)}: Streamlined Plot Theme and Plot Annotations for ggplot2
* {[egg](https://github.com/jwdink/egg)}: (fragile) extensions for ggplot2
* {[facetious](https://github.com/coolbutuseless/facetious)}: Home to some alternate facetting for ggplot2
* {[facetscales](https://github.com/zeehio/facetscales)}: facet_grid with different scales per facet
* {[figpatch](https://bradyajohnston.github.io/figpatch/)}: Easily Arrange Images with Patchwork Alongside ggplot2 Figures
* {[geofacet](https://hafen.github.io/geofacet/)}: R package for geographical faceting with ggplot2
* {[ggalign](https://yunuuuu.github.io/ggalign/)}: A 'ggplot2' Extension for Consistent Axis Alignment
* {[gganimate](https://gganimate.com/)}: A Grammar of Animated Graphics
* {[ggannotate](https://github.com/MattCowgill/ggannotate)}: Interactively annotate ggplots
* {[ggbillboard](https://github.com/nacnudus/ggbillboard)}: A package to fill vacant ggplot2 facets with images
* {[ggbreak](https://github.com/YuLab-SMU/ggbreak)}: Set Axis Break for 'ggplot2'
* {[ggcolormeter](https://github.com/yjunechoe/ggcolormeter)}: A ggplot2 color/fill legend guide extension in the style of a dashboard meter
* {[ggfigdone](https://wenjie1991.github.io/ggfigdone/)}: Manage ggplot figures using ggfigdone
* {[ggfocus](https://github.com/Freguglia/ggfocus)}: A 'ggplot2' extension that provides tools for automatically creating scales to focus on subgroups
* {[ggforce](https://ggforce.data-imaginist.com/)}: Accelerating ggplot2
* {[ggformula](http://www.mosaic-web.org/ggformula/)}: Provides a formula interface to 'ggplot2' graphics
* {[gggrid](https://www.stat.auckland.ac.nz/~paul/Reports/gggrid/gggrid.html)}: Accessing 'grid' from 'ggplot2'
* {[ggh4x](https://github.com/teunbrand/ggh4x)}: ggplot extension: options for tailored facets, multiple colourscales and miscellaneous
* {[gghighlight](https://yutannihilation.github.io/gghighlight/)}: Highlight points and lines in ggplot2
* {[gglabeller](https://github.com/AliciaSchep/gglabeller)}: Shiny gadget for labeling points on ggplot
* {[gglogger](https://pwwang.github.io/gglogger/)}: Track 'ggplot2' Calls
* {[ggmagnify](https://github.com/hughjonesd/ggmagnify)}: Create a magnified inset of part of a ggplot object
* {[ggNestedBarChart](https://github.com/davedgd/ggNestedBarChart)}: An easier way to create nested, grouped, heirarchical bar charts with ggplot2
* {[ggplotify](https://github.com/GuangchuangYu/ggplotify)}: Convert plot to grob and ggplot object
* {[ggProfessional](https://www.marcellgranat.com/ggprofessional/)}: Manage ggplot themes, colors, logos and exporting
* {[ggragged](https://mikmart.github.io/ggragged/)}: Ragged Grids for ggplot2
* {[ggreveal](http://www.weverthon.com/ggreveal/)}: Reveal a 'ggplot' Incrementally
* {[ggtibble](https://billdenney.github.io/ggtibble/)}: Create tibbles and lists of ggplot figures that can be modified as easily as regular ggplot figures
* {[ggtrace](https://yjunechoe.github.io/ggtrace/)}: Programmatically inspect, debug, and manipulate ggproto methods
* {[ggtrack](https://mrjoh3.github.io/ggtrack/)}: Add tracking banner to plots
* {[gguidance](https://github.com/teunbrand/gguidance)}: additional guides to the ggplot2 ecosystem
* {[ggupset](https://github.com/const-ae/ggupset)}: Combination matrix axis for 'ggplot2' to create 'UpSet' plots
* {[ggview](https://github.com/idmn/ggview)}: Ggplot picture previewer
* {[gtable](https://gtable.r-lib.org/)}: The layout packages that powers ggplot2
* {[jjAnno](https://github.com/junjunlab/jjAnno)}: An annotation package for ggplot plot
* {[legendry](https://teunbrand.github.io/legendry/)}: Extended Legends and Axes for 'ggplot2'
* {[pagenum](https://kwstat.github.io/pagenum/index.html)}: Add page number to R graphics
* {[patchwork](https://patchwork.data-imaginist.com/)}: The Composer of ggplots
* {[relayer](https://github.com/clauswilke/relayer)}: Rethinking layers in ggplot2
* {[scales](https://scales.r-lib.org/)}: Tools for ggplot2 scales
* {[showtext](https://github.com/yixuan/showtext)}: Using Fonts More Easily in R Graphs
* {[tagger](https://eliocamp.github.io/tagger/)}: Add tags to ggplot2 facets

## Interactive

* {[ggiraph](https://davidgohel.github.io/ggiraph/)}: Make 'ggplot' Graphics Interactive
* {[ggtips](https://github.com/cosi1/ggtips)}: Adds interactive tooltip boxes to ggplots (standalone or rendered in Shiny)
* {[plotly](https://github.com/ropensci/plotly)}: An interactive graphing library for R

## Network
* {[geomnet](http://sctyner.github.io/geomnet/)}: Network visualization in the ggplot2 framework
* {[ggnet](https://briatte.github.io/ggnet/)}: Network visualization with ggplot2
* {[ggnetwork](https://briatte.github.io/ggnetwork/)}: Geoms to plot networks with ggplot2
* {[ggtangle](https://cran.r-project.org/web/packages/ggtangle/index.html)}: Draw Network with Data
* {[graphlayouts](http://graphlayouts.schochastics.net/)}: New layout algorithms for network visualizations in R
* {[qgraph](https://cran.r-project.org/web/packages/qgraph/index.html)}: Graph Plotting Methods, Psychometric Data Visualization and Graphical Model Estimation

## Spatial

* {[bertin](https://github.com/BjnNowak/bertin)}: Transform choropleth maps into valued points
* {[eumaps](https://github.com/jfjelstul/eumaps)}: An R package that provides easy-to-use tools for making professional-quality choropleth maps of the European Union (EU)
* {[ggautomap](https://cidm-ph.github.io/ggautomap/)}: Create ggplot maps from a column of place names
* {[ggcounty](https://github.com/hrbrmstr/ggcounty)}: Generate ggplot2 geom_map county maps
* {[ggfields](https://pepijn-devries.github.io/ggfields/)}: Add vector fields layers to ggplots
* {[ggmap](https://github.com/dkahle/ggmap)}: A package for plotting maps in R with ggplot2
* {[ggmapinset](https://cidm-ph.github.io/ggmapinset/)}: Add zoomed inset panels to your ggplot maps
* {[ggOceanMaps](https://github.com/MikkoVihtakari/ggOceanMaps/)}: Plot oceanographic research data on maps using ggplot2
* {[ggredist](https://alarm-redist.org/ggredist/)}: Scales, Geometries, and Extensions of 'ggplot2' for Election Mapping
* {[ggsflabel](https://yutannihilation.github.io/ggsflabel/)}: Labels for 'sf' with 'ggplot2'
* {[ggsn](http://oswaldosantos.github.io/ggsn/)}: R package to add north symbols and scale bars to maps created with ggplot or ggmap
* {[ggspatial](https://paleolimbot.github.io/ggspatial/)}: Enhancing spatial visualization in ggplot2
* {[ggswissmaps](https://github.com/gibonet/ggswissmaps)}: Offers Various Swiss Maps as Data Frames and 'ggplot2' Objects
* {[layer](https://github.com/marcosci/layer)}: Create stacked tilted maps
* {[mapSpain](https://ropenspain.github.io/mapSpain/)}: Administrative Boundaries of Spain
* {[metR](https://eliocamp.github.io/metR/)}: Tools for Easier Analysis of Meteorological Fields
* {[mxmaps](https://www.diegovalle.net/mxmaps/)}: An R package for making maps of Mexico
* {[ozmaps](https://mdsumner.github.io/ozmaps/)}: Australian maps
* {[plotDK](https://github.com/kristianSN/plotDK)}: Plot Summary Statistics as Choropleth Maps of Danish Administrative Areas
* {[rayshader](https://github.com/tylermorganwall/rayshader)}: R Package for 2D and 3D mapping and data visualization
* {[starBliss](https://github.com/benyamindsmith/starBliss)}: Create beautiful, print quality maps of the night sky in R
* {[stars](https://r-spatial.github.io/stars/)}: Spatiotemporal Arrays, Raster and Vector Data Cubes
* {[sugarbag](https://srkobakian.github.io/sugarbag/)}: An R package to create tessellated hexagon maps of Australia
* {[sugarglider](https://maliny12.github.io/sugarglider/)}: Create Glyph-Maps of Spatiotemporal Data
* {[tidyterra](https://dieghernan.github.io/tidyterra/)}: tidyverse and ggplot2 methods for terra spatial objects
* {[urbnmapr](https://urbaninstitute.github.io/urbnmapr/index.html)}: US state and county maps with Alaska and Hawaii

## Time

* {[deeptime](https://github.com/willgearty/deeptime)}: Plotting Tools for Anyone Working in Deep Time
* {[ggsurvfit](https://www.danieldsjoberg.com/ggsurvfit/)}: Easy and Flexible Time-To-Event Figures
* {[ggTimeSeries](https://github.com/AtherEnergy/ggTimeSeries)}: Time series visualisation
* {[survminer](https://rpkgs.datanovia.com/survminer/)}: Survival Analysis and Visualization
* {[vistime](https://shosaco.github.io/vistime/)}: Pretty timelines in R

## Icons, patterns and images

* {[cropcircles](https://github.com/doehm/cropcircles)}: Crop an image into a circle with a transparent background
* {[emoGG](https://github.com/dill/emoGG)}: Emoji in ggplot2
* {[ggflags](https://github.com/rensa/ggflags)}: A flag geom for ggplot2
* {[ggfoundry](https://cgoo4.github.io/ggfoundry/)}: Shape Foundry & Geom for 'ggplot2'
* {[ggimage](https://github.com/GuangchuangYu/ggimage)}: Use Images in ggplot2
* {[ggpath](https://mrcaseb.github.io/ggpath/)}: Robust Image Rendering Support for 'ggplot2'
* {[ggpattern](https://coolbutuseless.github.io/package/ggpattern/index.html)}: ggplot geoms with pattern fills
* {[ggtikz](https://github.com/osthomas/ggtikz)}: Add TikZ annotations with absolute data or relative plot coordinates to ggplots
* {[mlbplotR](https://camdenk.github.io/mlbplotR/)}: R package to easily plot MLB logos

## Data and models

* {[edgebundle](https://github.com/schochastics/edgebundle)}: R package implementing edge bundling algorithms
* {[distributional](https://pkg.mitchelloharawild.com/distributional/)}: Vectorised distributions for R
* {[dotwhisker](https://fsolt.org/dotwhisker/)}: Dot-and-Whisker Plots of Regression Results
* {[FunnelPlotR](https://chrismainey.github.io/FunnelPlotR/)}: Funnel plots for comparing institutional performance, with overdispersion adjustment
* {[gaussplotR](https://vbaliga.github.io/gaussplotR/)}: Fit, predict, and plot 2D Gaussians
* {[GGally](https://ggobi.github.io/ggally/index.html)}: R package that extends ggplot2
* {[ggbiplot](https://friendly.github.io/ggbiplot/)}: A ggplot2 based biplot for principal components-like methods
* {[ggcompare](https://hmu-wh.github.io/ggcompare/)}: Mean Comparison in 'ggplot2'
* {[ggcoverage](https://showteeth.github.io/ggcoverage/)}: Visualize and annotate genomic coverage with ggplot2
* {[ggdendro](http://andrie.github.io/ggdendro/)}: Tools to extract dendrogram plot data for use with 'ggplot2'
* {[ggDoE](https://ggdoe.netlify.app/)}: Modern Graphs for Design of Experiments with ggplot2
* {[ggeffects](https://strengejacke.github.io/ggeffects/)}: Tidy Data Frames of Marginal Effects for ggplot2
* {[ggESDA](https://github.com/kiangkiangkiang/ggESDA)}: An R package for Exploratory Symbolic Data Analysis using ggplot2
* {[ggfixest](https://grantmcdermott.com/ggfixest/)}: Dedicated ggplot2 methods for fixest model objects
* {[ggfortify](https://github.com/sinhrks/ggfortify)}: Define fortify and autoplot functions to allow ggplot2 to handle some popular R packages
* {[gginnards](https://docs.r4photobiology.info/gginnards/)}: R package extending 'ggplot2' with manipulation and debugging tools
* {[ggip](https://davidchall.github.io/ggip/)}: R package to visualize IP data
* {[ggisotonic](https://github.com/talegari/ggisotonic)}: Add isotonic or monotonic regression curves to ggplots
* {[ggkegg](https://noriakis.github.io/software/ggkegg/)}: Analyzing and visualizing KEGG information using the grammar of graphics
* {[gglm](https://github.com/graysonwhite/gglm)}: Grammar of Graphics for Linear Model Diagnostic Plots
* {[gglorenz](https://jjchern.github.io/gglorenz/)}: Plotting Lorenz curves with the blessing of ggplot2
* {[ggmice](https://amices.org/ggmice/)}: Visualize incomplete and imputed data
* {[ggmugs](https://cran.rstudio.com/web/packages/ggmugs/index.html)}: Visualization of Multiple Genome-Wide Association Study Summary Statistics
* {[ggols](https://github.com/EvaMaeRey/ggols)}: visual expositions of simpler linear models
* {[ggparty](https://github.com/martin-borkovec/ggparty)}: ggplot2 visualizations for the partykit package
* {[ggpca](https://cran.r-project.org/web/packages/ggpca/index.html)}: Publication-Ready PCA, t-SNE, and UMAP Plots
* {[ggpmisc](https://docs.r4photobiology.info/ggpmisc/)}: R package ggpmisc is an extension to ggplot2 and the Grammar of Graphics
* {[ggpval](https://github.com/s6juncheng/ggpval)}: Add statistical test or annotation to your ggplot2 plots
* {[ggsem](https://smin95.github.io/ggsem/)}: Interactively Visualize Structural Equation Modeling Diagrams
* {[ggsmc](https://richardgeveritt.github.io/ggsmc/)}: Visualising Output from Sequential Monte Carlo Samplers and Ensemble-Based Methods
* {[ggstats](https://larmarange.github.io/ggstats/)}: Extension to ggplot2 for plotting stats
* {[grafify](https://github.com/ashenoy-cmbi/grafify)}: Easy Graphs for Data Visualisation and Linear Models for ANOVA
* {[gratia](https://gavinsimpson.github.io/gratia/)}: ggplot-based graphics and useful functions for GAMs fitted using the mgcv package
* {[ggpicrust2](https://cafferychen777.github.io/ggpicrust2/)}: Make Picrust2 Output Analysis and Visualization Easier
* {[ggQQunif](https://github.com/rcorty/ggQQunif)}: QQ plots for big collections of p-values
* {[ggRandomForest](https://github.com/ehrlinger/ggRandomForests)}: Graphical analysis of random forests with the randomForestSRC, randomForest and ggplot2 packages
* {[ggResidpanel](https://goodekat.github.io/ggResidpanel/)}: An R package for creating a panel of diagnostic plots for residuals from a model
* {[ggseas](https://github.com/ellisp/ggseas)}: seasonal adjustment on the fly extension for ggplot2
* {[ggstatsplot](https://indrajeetpatil.github.io/ggstatsplot/)}: Enhancing 'ggplot2' plots with statistical analysis
* {[halfmoon](https://r-causal.github.io/halfmoon/)}: Techniques to Build Better Balance in Propensity Score Models
* {[interactions](https://interactions.jacob-long.com/)}: A comprehensive, user-friendly toolkit for visualizing and analyzing statistical interactions
* {[jskm](https://jinseob2kim.github.io/jskm/)}: R package for Kaplan-Meier Plot
* {[jtools](https://jtools.jacob-long.com/)}: Tools for summarizing/visualizing regressions and other helpful stuff
* {[KMunicate](https://ellessenne.github.io/KMunicate-package/)}: Create KMunicate-Style Plots
* {[lindia](https://github.com/yeukyul/lindia)}: Extension package of linear regression diagonostic plots in ggplot2
* {[metrica](https://adriancorrendo.github.io/metrica/)}: Prediction Performance Metrics
* {[mlr3viz](https://mlr3viz.mlr-org.com/)}: Visualizations for mlr3
* {[moderndive](https://moderndive.github.io/moderndive/)}: R package for tidyverse-friendly introductory linear regression
* {[naniar](https://github.com/njtierney/naniar)}: Tidy data structures, summaries, and visualisations for missing data
* {[performance](https://easystats.github.io/performance/)}: Models' quality and performance metrics (R2, ICC, LOO, AIC, BF, ...)
* {[plotROC](http://sachsmc.github.io/plotROC/)}: Interactive ROC plots with ggplot + d3.js
* {[ppsr](https://github.com/paulvanderlaken/ppsr)}: R implementation of Predictive Power Score
* {[prettyglm](https://jared-fowler.github.io/prettyglm/)}: An R package to visualise glm coefficients
* {[SBC](https://hyunjimoon.github.io/SBC/index.html)}: Simulation-based Calibration
* {[sjPlot](https://strengejacke.github.io/sjPlot/)}: Data Visualization for Statistics in Social Science
* {[starbility](https://github.com/AakaashRao/starbility)}: Coefficient stability plots under combinations of controls
* {[superb](https://dcousin3.github.io/superb/)}: Summary plots with adjusted error bars
* {[tidybayes](http://mjskay.github.io/tidybayes/)}: Bayesian analysis + tidy data + geoms
* {[treeheatr](https://trangdata.github.io/treeheatr/)}: Heatmap-integrated Decision Tree Visualizations
* {[truchet](https://paezha.github.io/truchet/)}: Package for creating Truchet tiles and mosaics
* {[visR](https://openpharma.github.io/visR/)}: A package to wrap functionality for plots, tables and diagrams adhering to graphical principles

# Python packages

* {[lets-plot](https://lets-plot.org/)}: multiplatform plotting library built on the principles of the Grammar of Graphics
* {[plotnine](https://github.com/has2k1/plotnine)}: Python implementation of ggplot2 using matplotlib backend
* {[patchworklib](https://github.com/ponnhide/patchworklib)}: The Composer of plotnine ggplots
* {[plotnine3d](https://github.com/krassowski/plotnine3d)}: 3D Graphics using the grammar of graphics
* {[adjustText](https://github.com/Phlya/adjustText)}: ggrepel-inspired label placement for matplotlib (integrated with plotnine)

# Julia packages

* [Gadfly.jl](http://gadflyjl.org/stable/): Crafty statistical graphics for Julia
* [TidierPlots.jl](https://github.com/TidierOrg/TidierPlots.jl): Tidier data visualization in Julia, modeled after the ggplot2 R package

# Books

* [Data Visualization: A practical introduction](http://socviz.co/)
* [Data Visualization with R](https://rkabacoff.github.io/datavis/)
* [Fundamentals of Data Visualization](https://serialmentor.com/dataviz/)
* [ggplot2: Elegant Graphics for Data Analysis](https://ggplot2-book.org/)
* [Modern Data Visualization with R](https://rkabacoff.github.io/datavis/)

# Book chapters

* [Cookbook for R: Graphs](http://www.cookbook-r.com/Graphs/)
* [R for Data Science: Data visualisation](https://r4ds.had.co.nz/data-visualisation.html)
* [Modern Statistics for Modern Biology: High Quality Graphics in R](https://web.stanford.edu/class/bios221/book/Chap-Graphics.html)
* [Quantitative Politics with R: Introduction to ggplot2](http://qpolr.com/dataviz.html)

# Online Courses

* edX
* [Data Science: Visualization](https://www.edx.org/course/data-science-visualization)

# Galleries

* [ggplot2 extensions](https://exts.ggplot2.tidyverse.org/)
* [The R Graph Gallery](https://www.r-graph-gallery.com/)
* [R CHARTS](https://r-charts.com/)

# Text tutorials

* Beginner, introduction
* [a ggplot2 grammar guide](https://evamaerey.github.io/ggplot2_grammar_guide/about)
* [A Simple Introduction to the Graphing Philosophy of ggplot2](https://tomhopper.me/2014/03/28/a-simple-introduction-to-the-graphing-philosophy-of-ggplot2/)
* [Aesthetics, Geoms, Mappings, Scales, What?](https://ggplot2tutor.com/beginner_tutorial/beginner_tutorial/)
* [An Introduction on How to Make Beautiful Charts With R and ggplot2](https://minimaxir.com/2015/02/ggplot-tutorial/)
* [ggplot2 101](https://brunomioto.com/posts/intro_ggplot2/en/)
* [ggplot2 Quickref](http://r-statistics.co/ggplot2-cheatsheet.html)
* [Beautiful plotting in R: A ggplot2 cheatsheet](http://zevross.com/blog/2014/08/04/beautiful-plotting-in-r-a-ggplot2-cheatsheet-3/)
* [Top 50 ggplot2 Visualizations - The Master List (With Full R Code)](http://r-statistics.co/Top50-Ggplot2-Visualizations-MasterList-R-Code.html)
* [A ggplot2 Tutorial for Beautiful Plotting in R](https://cedricscherer.com/2019/08/05/a-ggplot2-tutorial-for-beautiful-plotting-in-r/)
* [Statistical tools for high-throughput data analysis: ggplot2 - Essentials](http://www.sthda.com/english/wiki/ggplot2-essentials)
* [Efficient and beautiful data synthesis: Taking your tidyverse skills to the next level](https://ourcodingclub.github.io/tutorials/dataviz-beautification-synthesis/)
* [The Ultimate Guide to Get Started With ggplot2](https://albert-rapp.de/posts/ggplot2-tips/18_ultimate_guide/18_ultimate_guide)
* [Tips and tricks for ggplot2](https://erikgahner.dk/2022/tips-and-tricks-for-ggplot2/)

* Intermediate, general
* [Data visualization using ggplot2 (intermediate)](https://rpubs.com/bpbond/727258)
* [ggplot tricks](https://github.com/teunbrand/ggplot_tricks)
* [Iterative visualizations with ggplot2: no more copy-pasting](https://www.elenadudukina.com/post/iterative-ggplotting/2021-06-20-iterative-plotting/)
* [split polygon art](https://github.com/cj-holmes/split-polygon-art)

* Theme customisation
* [3 alternatives to a discrete color scale legend in ggplot2](https://www.nsgrantham.com/legend-alternatives-ggplot2)
* [5 Powerful ggplot2 Extensions](https://albert-rapp.de/posts/ggplot2-tips/20_ggplot_extensions/ggplot_extensions.html)
* [10 Levels of ggplot2: From Basic to Beautiful](https://medium.com/compassred-data-blog/10-levels-of-ggplot2-from-basic-to-beautiful-5ce3c4e7624f)
* [10 Tips to Customize Text Color, Font, Size in ggplot2 with element_text()](https://cmdlinetips.com/2021/05/tips-to-customize-text-color-font-size-in-ggplot2-with-element_text/)
* [15 Tips to Customize lines in ggplot2 with element_line()](https://cmdlinetips.com/2021/05/tips-to-customize-lines-in-ggplot2-with-element_line/)
* [A complete guide to scales](https://ggplot2tor.com/scales/)
* [An overview of ggplot2 themes](https://erikgahner.dk/2024/an-overview-of-ggplot2-themes/)
* [Adding social media icons to charts with {ggplot2}](https://nrennie.rbind.io/blog/adding-social-media-icons-ggplot2/)
* [Alternatives to Simple Color Legends in ggplot2](https://meghan.rbind.io/blog/color-legend/)
* [Bar plot checklist](https://albert-rapp.de/posts/ggplot2-tips/16_bars_checklist/16_bars_checklist.html)
* [Changing Glyph in legend in ggplot2](https://www.hvitfeldt.me/blog/changing-glyph-in-ggplot2/)
* [Coloured text in {ggplot2}: {ggtext} vs {marquee}](https://nrennie.rbind.io/blog/coloured-text-legend-ggplot-ggtext-marquee/)
* [Creating and using custom ggplot2 themes](https://themockup.blog/posts/2020-12-26-creating-and-using-custom-ggplot2-themes/)
* [Custom colour palettes for {ggplot2}](https://www.jumpingrivers.com/blog/custom-colour-palettes-for-ggplot2/)
* [Custom themes in ggplot2](https://www.statworx.com/de/blog/custom-themes-in-ggplot2/)
* [Five Steps to Improve Your Chart Quickly](https://rfortherestofus.com/2023/11/theme-minimal)
* [Getting started with theme()](https://www.jumpingrivers.com/blog/intro-to-theme-ggplot2-r/)
* [ggplot Wizardry Hands-On](https://z3tt.github.io/OutlierConf2021/)
* [How to build a Tufte-style weather graph in R using ggplot2](https://johndjohnson.info/post/how-to-build-a-tufte-style-weather-graph-in-r-using-ggplot2/)
* [How to make any plot look better](https://ggplot2tutor.com/make_any_plot_look_better/make_any_plot_look_better/)
* [Jazz up your ggplots!](https://waterdata.usgs.gov/blog/ggplot-jazz/)
* [Making a ggplot theme](https://uncarvedblog.xyz/blog/making_a_ggplot_theme/)
* [Creating corporate colour palettes for ggplot2](https://drsimonj.svbtle.com/creating-corporate-colour-palettes-for-ggplot2)
* [Label line ends in time series with ggplot2](https://drsimonj.svbtle.com/label-line-ends-in-time-series-with-ggplot2)
* [Data Viz with Python and R: ggplot2](https://datavizpyr.com/category/r/ggplot2/)
* [The Evolution of a ggplot (Ep. 1)](https://cedricscherer.netlify.com/2019/05/17/the-evolution-of-a-ggplot-ep.-1/)
* [ggplot2 Theme Elements Demonstration](https://henrywang.nl/ggplot2-theme-elements-demonstration/)
* [Quick and easy ways to deal with long labels in ggplot2](https://www.andrewheiss.com/blog/2022/06/23/long-labels-ggplot/)
* [Understanding text size and resolution in ggplot2](https://www.christophenicault.com/post/understand_size_dimension_ggplot2/)
* [Variations on a ggtheme: Applying a unifying aesthetic to your plots](https://www.cararthompson.com/talks/nhsr2022-ggplot-themes/)
* [What we learned from creating a custom graphics package in R using ggplot2](https://www.pewresearch.org/decoded/2022/10/04/what-we-learned-from-creating-a-custom-graphics-package-in-r-using-ggplot2/)

* Plot layers
* [6 Common ggplot2 Mistakes](https://albert-rapp.de/posts/ggplot2-tips/21_common_ggplot_mistakes/21_common_ggplot_mistakes.html)
* [A Quick How-to on Labelling Bar Graphs in ggplot2](https://www.cedricscherer.com/2021/07/05/a-quick-how-to-on-labelling-bar-graphs-in-ggplot2/)
* [Annotated Forest Plots using ggplot2](https://www.khstats.com/blog/forest-plots/)
* [Correlation heat maps with {ggplot2}](https://albert-rapp.de/posts/ggplot2-tips/24_correlation_heat_map/24_correlation_heat_map.html)
* [Creating a cracked egg plot using {ggplot2} in R](https://nrennie.rbind.io/blog/cracked-egg-plot-ggplot2/)
* [Creating flowcharts with {ggplot2}](https://nrennie.rbind.io/blog/2022-06-06-creating-flowcharts-with-ggplot2/)
* [Creating typewriter-styled maps in {ggplot2}](https://nrennie.rbind.io/blog/creating-typewriter-maps-r/)
* [Creating upset charts with ggplot2](https://albert-rapp.de/posts/ggplot2-tips/26_upset_charts/26_upset_charts.html)
* [Exploring ggplot2 boxplots - Defining limits and adjusting style](https://waterdata.usgs.gov/blog/boxplots/)
* [Exploring other {ggplot2} geoms](https://ivelasq.rbind.io/blog/other-geoms/)
* [ggpathway: A tutorial for pathway visualization using tidyverse, igraph, and ggraph](https://github.com/cxli233/ggpathway)
* [Heatmaps in ggplot2](https://themockup.blog/posts/2020-08-28-heatmaps-in-ggplot2/)
* [How to add annotations in ggplot: should you use geoms or annotations?](https://rfortherestofus.com/2023/10/annotate-vs-geoms)
* [How to create diverging bar plots](https://albert-rapp.de/posts/ggplot2-tips/22_diverging_bar_plot/22_diverging_bar_plot.html)
* [Make Multi-point “dumbbell” Plots in ggplot2](https://rud.is/b/2019/06/06/make-multi-point-dumbbell-plots-in-ggplot2/)
* [Real Emojis in ggplot2](https://www.hvitfeldt.me/blog/real-emojis-in-ggplot2/)
* [Recreate a FiveThirtyEight Chicklet Stacked Bar Chart in ggplot2](https://www.mikelee.co/posts/2020-02-08-recreate-fivethirtyeight-chicklet-stacked-bar-chart-in-ggplot2/)
* [geom_paired_raincloud(): A {ggplot2} geom for visualizing change in distribution between two conditions](https://yjunechoe.github.io/posts/2020-07-13-geom-paired-raincloud/)
* [Plot moving average in R using ggplot2](https://datacornering.com/plot-moving-average-in-r-using-ggplot2/)
* [Pyramid Plots in ggplot2](https://www.njtierney.com/post/2022/08/09/ggplot-pyramid/)
* [Radial Patterns in ggplot2](https://ijeamaka-anyene.netlify.app/posts/2021-01-04-radial-patterns-in-ggplot2/)
* [Storytelling in ggplot using rounded rectangles](https://albert-rapp.de/posts/ggplot2-tips/11_rounded_rectangles/11_rounded_rectangles.html)
* [Three Ways to Include Images in Your ggplots](https://albert-rapp.de/posts/ggplot2-tips/27_images/27_images.html)
* [Visualizing Distributions with Raincloud Plots (and How to Create Them with ggplot2)](https://www.cedricscherer.com/2021/06/06/visualizing-distributions-with-raincloud-plots-and-how-to-create-them-with-ggplot2/)
* [Visualizing ordinal variables](https://octavio.me/posts/2021-07-23-ordinal-viz/)
* [Waffle charts with svg images](https://luisdva.github.io/rstats/wafflechart/)

* Regression models
* [Plot Prediction Interval in R using ggplot2](https://www.marsja.se/plot-prediction-interval-in-r-ggplot2/)
* [Sexy up your logistic regression model with logit dotplots](https://solomonkurz.netlify.app/post/2021-09-22-sexy-up-your-logistic-regression-model-with-logit-dotplots/)

* Spatial
* [6 easy ways to map population density in R](https://milospopovic.net/6-ways-to-map-population-with-r.r/)
* [Adding context to maps made with ggplot2](https://www.mm218.dev/posts/2023-10-31-map-context/index.html)
* [Bivariate maps with ggplot2 and sf](https://timogrossenbacher.ch/2019/04/bivariate-maps-with-ggplot2-and-sf/)
* [Combining maps and patterns with {ggplot2}](https://albert-rapp.de/posts/ggplot2-tips/25_maps_patterns/25_maps_patterns.html)
* [Drawing waterlines with ggplot2 in R](https://brunomioto.com/posts/waterlines/en/)
* [How to fill maps with density gradients with R, {ggplot2}, and {sf}](https://www.andrewheiss.com/blog/2023/07/28/gradient-map-fills-r-sf/)
* [How to make fancy road trip maps with R and OpenStreetMap](https://www.andrewheiss.com/blog/2023/06/01/geocoding-routing-openstreetmap-r/)
* [Inset maps with ggplot2](https://geocompx.org/post/2019/ggplot2-inset-maps/)
* [Making Middle Earth maps with R](https://www.andrewheiss.com/blog/2023/04/26/middle-earth-mapping-sf-r-gis/)
* [Plot RGB satellite imagery in true-color with ggplot2 in R](https://medium.com/@tobias.stalder.geo/plot-rgb-satellite-imagery-in-true-color-with-ggplot2-in-r-10bdb0e4dd1f)
* [Visualising the 2022 Australian federal election with geom_sugarbag](https://www.mattcowgill.com/posts/election_sugarbag/election_sugarbag.html)

* Interactive
* [Creating interactive visualizations with {ggiraph} (with or without Shiny)](https://albert-rapp.de/posts/ggplot2-tips/17_ggiraph/17_ggiraph.html)

* Presentation
* [Align multiple ggplot2 plots by axis](https://divingintogeneticsandgenomics.rbind.io/post/align-multiple-ggplot2-plots-by-axis/)
* [Annotated equations in ggplot2: Importing latex into ggplot2](https://wjschne.github.io/posts/2023-07-23-latex-equation-in-ggplot2/)
* [Combining plots in ggplot2](https://medium.com/@pawanjangra1198/combining-plots-in-ggplot2-9699acaa2942)
* [Designing ggplots: making clear figures that communicate](https://designing-ggplots.netlify.com/)
* [How to use natural and base 10 log scales in ggplot2](https://www.andrewheiss.com/blog/2022/12/08/log10-natural-log-scales-ggplot/)
* [Layered Presentation of Graphics with +aes() in ggplot2](https://evangelinereynolds.netlify.com/post/layered-presentation-of-graphics-with-aes-in-ggplot2/)
* [Label line ends in time series with ggplot2](https://drsimonj.svbtle.com/label-line-ends-in-time-series-with-ggplot2)
* [Reordering and facetting for ggplot2](https://juliasilge.com/blog/reorder-within/)
* [Save space in faceted plots](https://ikashnitsky.github.io/2023/shrink-space/index.html)
* [Self-documenting plots in ggplot2](https://www.tjmahr.com/self-titled-ggplot2-plots/)

* Statistics
* [Summary statistics](https://ggplot2tutor.com/summary_statistics/summary_statistics/)
* [Demystifying stat_ layers in {ggplot2}](https://yjunechoe.github.io/posts/2020-09-26-demystifying-stat-layers-ggplot2/)

* Python
* [Annotated area charts with plotnine](https://nrennie.rbind.io/blog/plotnine-annotated-area-chart/)
* [Plotnine: Grammar of Graphics for Python](https://jeroenjanssens.com/plotnine/)

# Video tutorials

* Beginner/intermediate
* [ggplot2 workshop part 1](https://www.youtube.com/watch?v=h29g21z0a68)
* [ggplot2 workshop part 2](https://www.youtube.com/watch?v=0m4yywqNPVY)
* [A short introduction to grammar of graphics (via ggplot2)](https://www.youtube.com/playlist?list=PLwJRxp3blEvaYRYWTqQ5ScIow8ZBm3Q92)

* Customization
* [How to fix the sizes in your ggplots](https://www.youtube.com/watch?v=7kWW8rkpfqc)
* [How to make Boxplots in R More Informative (ggplot2 and Extension Packages)](https://www.youtube.com/watch?v=kQ8CtRV0kSQ)
* [ggplot2 Wizardry: My Favorite Tricks and Secrets for Beautiful Plots in R](https://github.com/z3tt/OutlierConf2021)
* [Beyond Bar and Box Plots: Chart Alternatives and How to Design Them with ggplot2](https://github.com/z3tt/beyond-bar-and-box-plots)
* [Perfect Bar Charts in 150 Seconds](https://www.youtube.com/watch?v=15ZlfVA2Cl8)
* [Recreate a real-world, complex dataviz with R & ggplot](https://www.youtube.com/watch?v=k34IjRXq1BI)

* Packages
* [Create Raincloud Plots with ggplot2 | A Step by Step Guide](https://www.youtube.com/watch?v=qeys6CQBzxo)
* [Building a ggplot2 rollercoaster: Creating amazing 3D data visualizations in R](https://www.youtube.com/watch?v=hRKx-obmFx8)
* [esquisse: ggplot2 builder with Tableau Drag-and-Drop Interface](https://www.youtube.com/watch?v=6LV_p3Zi-LM)
* [How to Plot Statistical Group Comparisons in R: ggstatsplot](https://www.youtube.com/watch?v=Yhz0TKP_CUc)
* [Make Your Charts Interactive With the {ggiraph} Package](https://www.youtube.com/watch?v=ZyjwF3FMjFE)

# TidyTuesday

* [Official repository](https://github.com/rfordatascience/tidytuesday)

* Popular submissions
* [Deepali Kank](https://github.com/deepdk/TidyTuesday-2022)
* [Georgios Karamanis](https://github.com/gkaramanis/tidytuesday)
* [Cédric Scherer](https://github.com/z3tt/TidyTuesday)
* [Christophe Nicault](https://github.com/cnicault/tidytuesday)
* [Nicola Rennie](https://github.com/nrennie/tidytuesday)
* [Ryan Hart](https://github.com/curatedmess/TidyTuesday)
* [Tanya Shapiro](https://github.com/tashapiro/TidyTuesday)

# Miscellaneous

* [A generated list of repos containing themes for ggplot2](https://github.com/jmcastagnetto/ggplot2_themes_in_github/)
* [All hail ggplot2—The code powering all those excellent charts is 10 years old](https://qz.com/1007328/all-hail-ggplot2-the-code-powering-all-those-excellent-charts-is-10-years-old/)
* [awesome-r-dataviz](https://github.com/krzjoa/awesome-r-dataviz)
* [Comparing ggplot2 and R Base Graphics](https://flowingdata.com/2016/03/22/comparing-ggplot2-and-r-base-graphics/)
* [Most upvoted ggplot2 questions on Stack Overflow](https://stackoverflow.com/questions/tagged/ggplot2?tab=Votes)