Awesome ggplot2
General
R packages
Geometrics
- {calendR}: Fully customizable ready to print monthly and yearly calendars made with ggplot2
- {complex-upset}: A library for creating complex UpSet plots with ggplot2 geoms
- {corrmorant}: R package for flexible correlation matrices based on ggplot2
- {easyalluvial}: Create alluvial plots with a single line of code
- {econocharts}: Economics charts in R using ggplot2
- {geomnet}: Network visualization in the ggplot2 framework
- {ggalluvial}: ggplot2 extension for alluvial plots
- {ggalt}: Extra Coordinate Systems, Geoms, Statistical Transformations & Scales for ‘ggplot2’
- {ggambit}: Visualise FEN chess positions with ggplot2
- {gganatogram}: Create anatograms using ggplot2
- {ggbeeswarm}: Column scatter / beeswarm-style plots in ggplot2
- {ggblur}: Blurry Point Geom for ggplot2
- {ggbump}: A geom for ggplot to create bump plots
- {ggchicklet}: Create Chicklet (Rounded Segmented Column) Charts
- {ggcor}: Extended tools for correlation analysis and visualization.
- {ggeconodist}: Create Diminutive Distribution Charts
- {ggdag}: An R Package for visualizing and analyzing causal directed acyclic graphs
- {ggdist}: Visualizations of distributions and uncertainty
- {ggExtra}: Add marginal histograms to ggplot2, and more ggplot2 enhancements
- {gggibbous}: Moon charts, a pie chart alternative, for ggplot2
- {gghalves}: Easy half-half geoms in ggplot2
- {gghilbertstrings}: Create Hilbert curves in ggplot2
- {ggkeyboard}: Make a keyboard using ggplot2
- {ggmacc}: R package repository for building marginal abatement cost curves with ggplot2
- {ggmosaic}: Mosaicplots in the ggplot2 framework
- {ggparliament}: Simple parliament plots using ggplot2
- {ggpointdensity}: A Cross Between a Scatter Plot and a 2D Density Plot
- {ggsoccer}: Plot soccer event data in R/ggplot2
- {ggspectra}: Plotting spectra with ggplot2
- {ggpage}: Creates Page Layout Visualizations in R
- {ggpol}: Parliament diagrams and more for ggplot2
- {ggpolypath}: Polygons with holes for ggplot2
- {ggpubr}: ‘ggplot2’ Based Publication Ready Plots
- {ggradar}: radar charts with ggplot2
- {ggraph}: A grammar of graphics for relational data
- {ggrastr}: Raster geoms for ggplot2
- {ggrepel}: Repel overlapping text labels away from each other
- {ggrgl}: 3D Graphics Using the Grammar of Graphics
- {ggridges}: Ridgeline plots in ggplot2
- {ggside}: ggplot2 extension allowing for plotting various geometries as side panels
- {ggsignif}: Easily add significance brackets to your ggplots
- {ggstream}: A package to make streamplots
- {ggtda}: ggplot2 extension to visualize persistent homology
- {ggTimeSeries}: Time series visualisation
- {ggthreed}: 3d geoms and stats for ggplot
- {ggtree}: Visualization and annotation of phylogenetic trees
- {ggvenn}: Venn Diagram by ggplot2, with really easy-to-use API
- {ggVennDiagram}: A ‘ggplot2’ implement of Venn Diagram
- {ggwaffle}: Creating waffle charts in a ggplot friendly way
- {ggweekly}: Easy, printable, custom calendars and week planners
- {ggwordcloud}: A word cloud geom for ggplot2
- {ggxmean}: Put a vertical line at the mean of x w/ geom_xmean() and do other stuff
- {parttree}: Simple package for plotting decision tree partitions in R
- {treemapify}: Draw treemaps in ggplot2
- {waffle}: Make waffle (square pie) charts in R
Themes and aesthetics
- {bbplot}: R package that helps create and export ggplot2 charts in the style used by the BBC News data team
- {cyberpunk}: A function to create cyberpunk-style graphs with R based on ggplot2
- {ggcharts}: Get You to Your Desired Plot Faster
- {ggdark}: Dark mode for ggplot2 themes
- {ggCyberPunk}: Working on creating a similar cyberpunk geom for ggplot
- {ggeasy}: Easy Access to ‘ggplot2’ Commands
- {ggedit}: Interactively edit ggplot layer aesthetics and theme definitions
- {ggfittext}: ggplot2 geoms to fit text into boxes
- {ggfx}: ggfx is a (currently experimantal) package that allows the use of various filters and shaders on ggplot2 layers
- {gghighlight}: Highlight points and lines in ggplot2
- {gglaplot}: Makes graphics in the GLA style using ggplot2
- {ggnewscale}: Multiple Fill and Color Scales in ‘ggplot2’
- {ggpomological}: Pomological plot theme for ggplot2
- {ggprism}: ggplot2 extension inspired by GraphPad Prism
- {ggrough}: Convert ggplot2 chart to roughjs
- {ggsci}: Scientific journal and sci-fi themed color palettes for ggplot2
- {ggstar}: Star layer for ggplot2
- {ggtech}: ggplot2 tech themes, scales, and geoms
- {ggtext}: Improved text rendering support for ggplot2
- {ggtextures}: Drawing textured rectangles and bars with ggplot
- {ggthemes}: Additional themes, scales, and geoms for ggplot2
- {ggthemr}: Themes for ggplot2
- {hrbrthemes}: Opinionated, typographic-centric ggplot2 themes and theme components
- {mdthemes}: Markdown Themes for ‘ggplot2’
- {paletteer}: Collection of most color palettes in a single R package
- {rockthemes}: R colour palettes based on classic rock albums and some other ones
- {savonliquide}: Check for Color Contrast Accessibility in R
- {soilpalettes}: R color palettes inspired by soil profiles
- {thematic}: Unified and automatic theming of ggplot2, lattice, and base R graphics
- {tvthemes}: ggplot2 themes and palettes based on your favorite TV shows
- {urbnthemes}: Urban Institute’s ggplot2 theme and tools
Presentation, composition and scales
- {cowplot}: Streamlined Plot Theme and Plot Annotations for ggplot2
- {facetscales}: facet_grid with different scales per facet
- {geofacet}: R package for geographical faceting with ggplot2
- {gganimate}: A Grammar of Animated Graphics
- {ggannotate}: Interactively annotate ggplots
- {ggbillboard}: A package to fill vacant ggplot2 facets with images
- {ggfocus}: A ‘ggplot2’ extension that provides tools for automatically creating scales to focus on subgroups
- {ggforce}: Accelerating ggplot2
- {ggh4x}: ggplot extension: options for tailored facets, multiple colourscales and miscellaneous
- {gghighlight}: Highlight points and lines in ggplot2
- {ggiraph}: Make ‘ggplot’ Graphics Interactive
- {ggupset}: Combination matrix axis for ‘ggplot2’ to create ‘UpSet’ plots
- {patchwork}: The Composer of ggplots
- {plotly}: An interactive graphing library for R
- {scales}: Tools for ggplot2 scales
- {showtext}: Using Fonts More Easily in R Graphs
- {tagger}: Add tags to ggplot2 facets
Spatial
- {ggcounty}: Generate ggplot2 geom_map county maps
- {ggmap}: A package for plotting maps in R with ggplot2
- {ggOceanMaps}: Plot oceanographic research data on maps using ggplot2
- {ggsn}: R package to add north symbols and scale bars to maps created with ggplot or ggmap
- {ggspatial}: Enhancing spatial visualization in ggplot2
- {mapDK}: R package for making maps of Denmark
- {mapSpain}: Administrative Boundaries of Spain
- {metR}: Tools for Easier Analysis of Meteorological Fields
- {rayshader}: R Package for 2D and 3D mapping and data visualization
- {sugarbag}: An R package to create tessellated hexagon maps of Australia
- {urbnmapr}: US state and county maps with Alaska and Hawaii
Icons, patterns and images
Data and models
- {edgebundle}: R package implementing edge bundling algorithms
- {FunnelPlotR}: Funnel plots for comparing institutional performance, with overdispersion adjustment
- {GGally}: R package that extends ggplot2
- {ggdendro}: Tools to extract dendrogram plot data for use with ‘ggplot2’
- {ggeffects}: Tidy Data Frames of Marginal Effects for ggplot2
- {ggfortify}: Define fortify and autoplot functions to allow ggplot2 to handle some popular R packages
- {ggip}: R package to visualize IP data
- {gglm}: Grammar of Graphics for Linear Model Diagnostic Plots
- {ggparty}: ggplot2 visualizations for the partykit package
- {ggpval}: Add statistical test or annotation to your ggplot2 plots
- {ggRandomForest}: Graphical analysis of random forests with the randomForestSRC, randomForest and ggplot2 packages
- {ggResidpanel}: An R package for creating a panel of diagnostic plots for residuals from a model
- {ggstatsplot}: Enhancing ‘ggplot2’ plots with statistical analysis
- {jtools}: Tools for summarizing/visualizing regressions and other helpful stuff
- {KMunicate}: Create KMunicate-Style Plots
- {lindia}: Extension package of linear regression diagonostic plots in ggplot2
- {naniar}: Tidy data structures, summaries, and visualisations for missing data
- {sjPlot}: Data Visualization for Statistics in Social Science
- {survminer}: Survival Analysis and Visualization
- {tidybayes}: Bayesian analysis + tidy data + geoms
Books
Book chapters
Online Courses
Galleries
Text tutorials
- Beginner, introduction
- Intermediate, general
- Theme customisation
- Geometrics
- Spatial
- Presentation
- Statistics
Video tutorials
- Beginner/intermediate
- Customization
Miscellaneous