/awesome-ggplot2

A curated list of awesome ggplot2 tutorials, packages etc.

Awesome ggplot2 Awesome

General

Persons (+ twitter)

R packages

Geometrics

  • {calendR}: Fully customizable ready to print monthly and yearly calendars made with ggplot2
  • {corrmorant}: R package for flexible correlation matrices based on ggplot2
  • {easyalluvial}: Create alluvial plots with a single line of code
  • {ggalluvial}: ggplot2 extension for alluvial plots
  • {ggalt}: Extra Coordinate Systems, Geoms, Statistical Transformations & Scales for '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
  • {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
  • {ggridges}: Ridgeline plots in ggplot2
  • {ggsignif}: Easily add significance brackets to your ggplots
  • {ggTimeSeries}: Time series visualisation
  • {ggthreed}: 3d geoms and stats for ggplot
  • {ggtree}: Visualization and annotation of phylogenetic trees
  • {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
  • {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
  • {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
  • {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
  • {ggrough}: Convert ggplot2 chart to roughjs
  • {ggsci}: Scientific journal and sci-fi themed color palettes 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
  • {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
  • {tagger}: Add tags to ggplot2 facets

Spatial

  • {ggcounty}: Generate ggplot2 geom_map county maps
  • {ggmap}: A package for plotting maps in R with ggplot2
  • {ggsn}: R package to add north symbols and scale bars to maps created with ggplot or ggmap
  • {ggspatial}: Enhancing spatial visualization in ggplot2
  • {metR}: Tools for Easier Analysis of Meteorological Fields
  • {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

  • {emoGG}: Emoji in ggplot2
  • {ggflags}: A flag geom for ggplot2
  • {ggimage}: Use Images in ggplot2
  • {ggpattern}: ggplot geoms with pattern fills

Data and models

  • {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
  • {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

Video tutorials

Miscellaneous