Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

Awesome ggplot2 Awesome


Persons (+ twitter)

R packages

Plot layers

  • {biscale}: Bivariate Mapping with ggplot2
  • {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
  • {deeptime}: Plotting Tools for Anyone Working in Deep Time
  • {easyalluvial}: Create alluvial plots with a single line of code
  • {econocharts}: Economics charts in R using ggplot2
  • {ganttrify}: Create beautiful Gantt charts with ggplot2
  • {geomtextpath}: Create curved text paths in ggplot2
  • {ggalignment}: R package for creating D&D alignment charts
  • {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
  • {ggarchery}: Flexible segment geoms with arrows for ggplot2
  • {ggarrow}: ggplot2 extension: more options for drawing arrows
  • {ggbeeswarm}: Column scatter / beeswarm-style plots in ggplot2
  • {ggblanket}: Simplify ggplot2 visualisation
  • {ggblend}: Support for blend modes in ggplot2
  • {ggblur}: Blurry Point Geom for ggplot2
  • {ggborderline}: Provides a set of geoms to make line plots a little bit nicer
  • {ggbraid}: Braid two lines and a ribbon in ggplot2
  • {ggbrain}: R package for creating plots of brains using ggplot
  • {ggbump}: A geom for ggplot to create bump plots
  • {ggcalendar}: x and y position as days in month
  • {ggchicklet}: Create Chicklet (Rounded Segmented Column) Charts
  • {ggconsort}: An R package for creating CONSORT diagrams with ggplot
  • {ggcorrplot}: Visualization of a correlation matrix using ggplot2
  • {ggcorr}: Correlation matrixes with ggplot2
  • {ggcorset}: Introducing corset plots
  • {ggpcp}: Parallel Coordinate Plots in the 'ggplot2' Framework
  • {ggdemetra}: ggplot2 extension for seasonal and trading day adjustment with RJDemetra
  • {ggdensity}: An R package for interpretable visualizations of density estimates
  • {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
  • {ggflowchart}: R package for producing flowcharts using ggplot2
  • {ggfreehand}: Add freehand circles to ggplot2 graphs
  • {gggenes}: Draw gene arrow maps in ggplot2
  • {gggenomes}: A grammar of graphics for comparative genomics
  • {gggibbous}: Moon charts, a pie chart alternative, for ggplot2
  • {gghalves}: Easy half-half geoms in ggplot2
  • {gghdr}: Plots of highest density regions (HDR) for ggplot2
  • {gghilbertstrings}: Create Hilbert curves in ggplot2
  • {ggHoriPlot}: build horizon plots in ggplot2
  • {ggimg}: Graphics Layers for Plotting Image Data with 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
  • {ggmsa}: a visual exploration tool for multiple sequence alignment and associated data
  • {ggmulti}: Package for adding some multivariate visualizations to ggplot2
  • {ggpackets}: Cleaner composition of ggplot layers
  • {ggparliament}: Simple parliament plots using ggplot2
  • {ggplateplot}: make plots resembling cell culture microwell plates
  • {ggpointdensity}: A Cross Between a Scatter Plot and a 2D Density Plot
  • {ggpointgrid}: Rearrange scatter plot points on a regular grid
  • {ggpointless}: A point layer to emphasize some observations
  • {ggpolar}: Dots and Their Connections in Polar Coordinate System
  • {ggsector}: Use R language to draw sector
  • {ggshadow}: Shadow Geoms for ggplot2
  • {ggshakeR}: An analysis and visualization R package that works with publicly available soccer data
  • {ggsoccer}: Plot soccer event data in R/ggplot2
  • {ggspectra}: Plotting spectra with ggplot2
  • {ggstamp}: stamp_* as an API for annotation layers
  • {ggstance}: Horizontal ggplot2 components
  • {ggpage}: Creates Page Layout Visualizations in R
  • {ggperiodic}: Easy plotting of periodic data with ggplot2
  • {ggplate}: Create Layout Plots of Biological Culture Plates and Microplates
  • {ggpol}: Parliament diagrams and more for ggplot2
  • {ggpolypath}: Polygons with holes for ggplot2
  • {ggpp}: Grammar of graphics extensions to 'ggplot2'
  • {ggpubr}: 'ggplot2' Based Publication Ready Plots
  • {ggquiver}: R package for quiver plots in 'ggplot2'
  • {ggqr}: ggplot2 geom for QR codes
  • {ggradar}: radar charts with ggplot2
  • {ggrain}: Make beautiful Raincloud plots in R
  • {ggraph}: A grammar of graphics for relational data
  • {ggrastr}: Raster geoms for ggplot2
  • {ggrepel}: Repel overlapping text labels away from each other
  • {ggreverse}: Reverse a ggplot object back into code
  • {ggrgl}: 3D Graphics Using the Grammar of Graphics
  • {ggridges}: Ridgeline plots in ggplot2
  • {ggrounded}: Rounded Bar Plots
  • {ggsankey}: The goal of ggsankey is to make beautiful sankey, alluvial and sankey bump plots in ggplot2
  • {ggseqplot}: Render Sequence Plots using 'ggplot2'
  • {ggside}: ggplot2 extension allowing for plotting various geometries as side panels
  • {ggsignif}: Easily add significance brackets to your ggplots
  • {ggsolar}: Generate "solar system" plots with {ggplot2}
  • {ggstraw}: geom_straw for ggplot2
  • {ggstream}: A package to make streamplots
  • {ggsvg}: Use SVG images as ggplot points
  • {ggtda}: ggplot2 extension to visualize persistent homology
  • {ggtern}: An extension to ggplot2, for the creation of ternary diagrams
  • {ggtikz}: Add TikZ annotations with absolute data or relative plot coordinates to ggplots
  • {ggTimeSeries}: Time series visualisation
  • {ggthreed}: 3d geoms and stats for ggplot
  • {ggtree}: Visualization and annotation of phylogenetic trees
  • {ggtrendline}: An R Package for Adding Trendline and Confidence Interval to "ggplot"
  • {ggtricks}: Create Sector and Other Charts Easily Using Grammar of Graphics
  • {ggvenn}: Venn Diagram by ggplot2, with really easy-to-use API
  • {ggVennDiagram}: A 'ggplot2' implement of Venn Diagram
  • {ggvoronoi}: Easy Voronoi diagram heatmaps with ggplot2
  • {ggvwline}: Layer functions for drawing variable-width curves
  • {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
  • {jjPlot}: funny geom/stat functions for visualization
  • {likert}: Analysis and Visualization Likert Items
  • {linkET}: Toolbox for heatmap and mantel test plot.
  • {parttree}: Simple package for plotting decision tree partitions in R
  • {patternplot}: Versatile Pie Charts, Ring Charts, Bar Charts and Box Plots using Patterns, Colors and Images
  • {scattermore}: very fast scatterplots for R
  • {see}: Visualisation toolbox for beautiful and publication-ready figures
  • {shadowtext}: shadow text for grid and ggplot2
  • {treemapify}: Draw treemaps in ggplot2
  • {visdat}: Preliminary Exploratory Visualisation of Data
  • {vistime}: Pretty timelines in R
  • {waffle}: Make waffle (square pie) charts in R
  • {WVPlots}: Pre-packaged plots 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
  • {ButterflyColors}: Color palette for data visualization based on butterfly species
  • {colorBlindnessSafe}: Color Set for Color Blindness
  • {cols4all}: Colors for all (R package)
  • {cyberpunk}: A function to create cyberpunk-style graphs with R based on ggplot2
  • {darknerdthemes}: Dark ggplots themes for nerds
  • {duke}: Creating a Color-Blind Friendly Duke Color Package
  • {ggdc}: Datacamp Themes for ggplot2
  • {ggcharts}: Get You to Your Desired Plot Faster
  • {ggcute}: Cute things for ggplot2
  • {ggdark}: Dark mode for ggplot2 themes
  • {ggchromatic}: Colour and fill scales for 'ggplot2' using colour spaces
  • {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
  • {gglaplot}: Makes graphics in the GLA style using ggplot2
  • {ggnewscale}: Multiple Fill and Color Scales in 'ggplot2'
  • {ggokabeito}: Colorblind-friendly, qualitative Okabe-Ito Scales for ggplot2 and ggraph
  • {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
  • {ggseg}: Plotting tool for brain atlases, in ggplot
  • {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
  • {harrypotter}: Harry Potter inspired palette for R
  • {hrbrthemes}: Opinionated, typographic-centric ggplot2 themes and theme components
  • (lemon): Freshing up your ggplots
  • {mdthemes}: Markdown Themes for 'ggplot2'
  • {MexBrewer}: Color Palettes Inspired by Works Mexican Muralists
  • {monochromeR}: A package for creating monochrome colour palettes and easily converting rgba values to hex codes
  • {NatParksPalettes}: Color palette package inspired by National Parks
  • {paletteer}: Collection of most color palettes in a single R package
  • {pilot}: A minimal ggplot2 theme with an accessible discrete color palette
  • {peRReo}: R color palettes inspired by reggaeton and latin albums
  • {PrettyCols}: R package containing pretty colour palettes.
  • {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

  • {camcorder}: Record plots generated during an R session and replay as a gif!
  • {cowplot}: Streamlined Plot Theme and Plot Annotations for ggplot2
  • {deeptime}: Plotting Tools for Anyone Working in Deep Time
  • {egg}: (fragile) extensions for ggplot2
  • {facetious}: Home to some alternate facetting for ggplot2
  • {facetscales}: facet_grid with different scales per facet
  • {figpatch}: Easily Arrange Images with Patchwork Alongside ggplot2 Figures
  • {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
  • {ggbreak}: Set Axis Break for 'ggplot2'
  • {ggcolormeter}: A ggplot2 color/fill legend guide extension in the style of a dashboard meter
  • {ggfocus}: A 'ggplot2' extension that provides tools for automatically creating scales to focus on subgroups
  • {ggforce}: Accelerating ggplot2
  • {ggformula}: Provides a formula interface to 'ggplot2' graphics
  • {gggrid}: Accessing 'grid' from 'ggplot2'
  • {ggh4x}: ggplot extension: options for tailored facets, multiple colourscales and miscellaneous
  • {gghighlight}: Highlight points and lines in ggplot2
  • {gglabeller}: Shiny gadget for labeling points on ggplot
  • {ggmagnify}: Create a magnified inset of part of a ggplot object
  • {ggNestedBarChart}: An easier way to create nested, grouped, heirarchical bar charts with ggplot2
  • {ggplotify}: Convert plot to grob and ggplot object
  • {ggProfessional}: Manage ggplot themes, colors, logos and exporting
  • {ggragged}: Ragged Grids for ggplot2
  • {ggtrace}: Programmatically inspect, debug, and manipulate ggproto methods
  • {ggtrack}: Add tracking banner to plots
  • {gguidance}: additional guides to the ggplot2 ecosystem
  • {ggupset}: Combination matrix axis for 'ggplot2' to create 'UpSet' plots
  • {ggview}: Ggplot picture previewer
  • {gtable}: The layout packages that powers ggplot2
  • {jjAnno}: An annotation package for ggplot plot
  • {patchwork}: The Composer of ggplots
  • {relayer}: Rethinking layers in ggplot2
  • {scales}: Tools for ggplot2 scales
  • {showtext}: Using Fonts More Easily in R Graphs
  • {tagger}: Add tags to ggplot2 facets


  • {ggiraph}: Make 'ggplot' Graphics Interactive
  • {ggtips}: Adds interactive tooltip boxes to ggplots (standalone or rendered in Shiny)
  • {plotly}: An interactive graphing library for R


  • {geomnet}: Network visualization in the ggplot2 framework
  • {ggnet}: Network visualization with ggplot2
  • {ggnetwork}: Geoms to plot networks with ggplot2
  • {graphlayouts}: New layout algorithms for network visualizations in R
  • {qgraph}: Graph Plotting Methods, Psychometric Data Visualization and Graphical Model Estimation


  • {bertin}: Transform choropleth maps into valued points
  • {eumaps}: An R package that provides easy-to-use tools for making professional-quality choropleth maps of the European Union (EU)
  • {ggautomap}: Create ggplot maps from a column of place names
  • {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
  • {ggsflabel}: Labels for 'sf' 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
  • {layer}: Create stacked tilted maps
  • {mapSpain}: Administrative Boundaries of Spain
  • {metR}: Tools for Easier Analysis of Meteorological Fields
  • {mxmaps}: An R package for making maps of Mexico
  • {plotDK}: Plot Summary Statistics as Choropleth Maps of Danish Administrative Areas
  • {rayshader}: R Package for 2D and 3D mapping and data visualization
  • {starBliss}: Create beautiful, print quality maps of the night sky in R
  • {sugarbag}: An R package to create tessellated hexagon maps of Australia
  • {tidyterra}: tidyverse and ggplot2 methods for terra spatial objects
  • {urbnmapr}: US state and county maps with Alaska and Hawaii

Icons, patterns and images

  • {cropcircles}: Crop an image into a circle with a transparent background
  • {emoGG}: Emoji in ggplot2
  • {ggflags}: A flag geom for ggplot2
  • {ggimage}: Use Images in ggplot2
  • {ggpath}: Robust Image Rendering Support for 'ggplot2'
  • {ggpattern}: ggplot geoms with pattern fills

Data and models

  • {edgebundle}: R package implementing edge bundling algorithms
  • {distributional}: Vectorised distributions for R
  • {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'
  • {ggDoE}: Modern Graphs for Design of Experiments with ggplot2
  • {ggeffects}: Tidy Data Frames of Marginal Effects for ggplot2
  • {ggESDA}: An R package for Exploratory Symbolic Data Analysis using ggplot2
  • {ggfortify}: Define fortify and autoplot functions to allow ggplot2 to handle some popular R packages
  • {gginnards}: R package extending 'ggplot2' with manipulation and debugging tools
  • {ggip}: R package to visualize IP data
  • {gglm}: Grammar of Graphics for Linear Model Diagnostic Plots
  • {ggmice}: Visualize incomplete and imputed data
  • {ggols}: visual expositions of simpler linear models
  • {ggparty}: ggplot2 visualizations for the partykit package
  • {ggpmisc}: R package ggpmisc is an extension to ggplot2 and the Grammar of Graphics
  • {ggpval}: Add statistical test or annotation to your ggplot2 plots
  • {grafify}: Easy Graphs for Data Visualisation and Linear Models for ANOVA
  • {gratia}: ggplot-based graphics and useful functions for GAMs fitted using the mgcv package
  • {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
  • {ggseas}: seasonal adjustment on the fly extension for ggplot2
  • {ggstatsplot}: Enhancing 'ggplot2' plots with statistical analysis
  • {ggsurvfit}: Easy and Flexible Time-To-Event Figures
  • {interactions}: A comprehensive, user-friendly toolkit for visualizing and analyzing statistical interactions
  • {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
  • {metrica}: Prediction Performance Metrics
  • {mlr3viz}: Visualizations for mlr3
  • {naniar}: Tidy data structures, summaries, and visualisations for missing data
  • {performance}: Models' quality and performance metrics (R2, ICC, LOO, AIC, BF, ...)
  • {plotROC}: Interactive ROC plots with ggplot + d3.js
  • {ppsr}: R implementation of Predictive Power Score
  • {SBC}: Simulation-based Calibration
  • {sjPlot}: Data Visualization for Statistics in Social Science
  • {superb}: Summary plots with adjusted error bars
  • {survminer}: Survival Analysis and Visualization
  • {tidybayes}: Bayesian analysis + tidy data + geoms
  • {treeheatr}: Heatmap-integrated Decision Tree Visualizations
  • {visR}: A package to wrap functionality for plots, tables and diagrams adhering to graphical principles

Python packages

  • {plotnine}: Python implementation of ggplot2 using matplotlib backend
  • {patchworklib}: The Composer of plotnine ggplots
  • {plotnine3d}: 3D Graphics using the grammar of graphics
  • {adjustText}: ggrepel-inspired label placement for matplotlib (integrated with plotnine)


Book chapters

Online Courses


Text tutorials

Video tutorials




A curated list of awesome ggplot2 tutorials, packages etc.







No releases published


No packages published