Awesome
Awesome ggplot2
<img src="https://raw.githubusercontent.com/rstudio/hex-stickers/master/PNG/ggplot2.png" align="right" width="150">
General
Persons (Webpage + Mastodon)
- Hadley Wickham (@hadleywickham)
- Kieran Healy (@kjhealy)
- Claus Wilke
- Thomas Lin Pedersen
- Winston Chang (@winston_chang)
- Lionel Henry (@lionel)
- Kara Woo
- Hiroaki Yutani
- Dewey Dunnington
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
- {dbplot}: Simplifies plotting of database and sparklyr data
- {directlabels}: Direct labels for multicolor plots in lattice or ggplot2
- {donutsk}: Construct Advanced Donut Charts
- {easyalluvial}: Create alluvial plots with a single line of code
- {econocharts}: Economics charts in R using ggplot2
- {effectclass}: Display uncertainty and effect classification with ggplot2 or plotly
- {ezplot}: Functions for Common Chart Types
- {flowmapper}: Draw flows (migration, goods, money, information) on ggplots
- {ganttrify}: Create beautiful Gantt charts with ggplot2
- {geomtextpath}: Create curved text paths in ggplot2
- {gg1d}: Exploratory Data Analysis using Tiled One-Dimensional Graphics
- {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
- {ggasym}: Plots three different color schemes on the top-left and bottom-right triangles and the diagonal of a symmetric matrix
- {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
- {ggbrace}: Curly Braces for 'ggplot2'
- {ggbraid}: Braid two lines and a ribbon in ggplot2
- {ggbrain}: R package for creating plots of brains using ggplot
- {ggbrick}: A brick like geom for ggplot2
- {ggbump}: A geom for ggplot to create bump plots
- {ggcalendar}: x and y position as days in month
- {ggcats}: The geom you always wished for adding cats to ggplot2
- {ggchicklet}: Create Chicklet (Rounded Segmented Column) Charts
- {ggcleveland}: Implementation of plots from Cleveland's Visualizing Data book in ggplot2
- {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
- {ggdaynight}: Add Day/Night Patterns to ggplot2 Plots
- {ggdirectlabel}: Make it easier to directly label ggplot2 charts
- {ggdist}: Visualizations of distributions and uncertainty
- {ggDoubleHeat}: A heatmap-like visualization tool
- {ggExtra}: Add marginal histograms to ggplot2, and more ggplot2 enhancements
- {ggfacto}: Graphs for correspondence analysis
- {ggflowchart}: R package for producing flowcharts using ggplot2
- {ggfreehand}: Add freehand circles to ggplot2 graphs
- {ggfun}: Miscellaneous Functions for 'ggplot2'
- {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
- {ggnormalviolin}: Makes normal violin plots with specified means and standard deviations
- {ggonion}: R package for drawing onion diagrams via ggplot2
- {ggordiplots}: Make ggplot Versions of Vegan's Ordiplots
- {ggpackets}: Cleaner composition of ggplot layers
- {ggparliament}: Simple parliament plots using ggplot2
- {ggpercentogram}: Create equal-area histograms with 'ggplot2'
- {ggpie}: Create pie charts using ggplot2
- {ggPlantmap}: Generate ggplot maps from plant images
- {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
- {ggsankeyfier}: Create Sankey and Alluvial Diagrams Using ggplot2
- {ggsector}: Use R language to draw sector
- {ggseqlogo}: Generating publication-ready sequence logos in R using ggseqlogo
- {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
- {ggparallel}: R package for creating hammock plots and parallel sets plots using the ggplot2 framework
- {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
- {ggsc}: Visualizing single cell data
- {ggScatRidges}: Scatter Plot Combined with Ridgelines in 'ggplot2'
- {ggscidca}: Plotting Decision Curve Analysis with Coloured Bars
- {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}
- {ggspark}: ggplot2 Functions to Create Tufte Style Sparklines
- {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
- {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
- {ggvolcano}: Publication-Ready Volcano Plots
- {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
- {plotcli}: Convert ggplot2 objects to colored terminal plots
- {plotthis}: High-Level Plotting Built Upon 'ggplot2' and Other Plotting Packages
- {scatterbar}: Scattered Stacked Bar Chart Plots
- {scattermore}: very fast scatterplots for R
- {see}: Visualisation toolbox for beautiful and publication-ready figures
- {shadowtext}: shadow text for grid and ggplot2
- {smplot2}: Create and annotate composite plots in R and ggplot2
- {superheat}: An R package for generating beautiful and customizable heatmaps
- {swimplot}: Tools for Creating Swimmers Plots using 'ggplot2'
- {tidyplots}: Tidy Plots for Scientific Papers
- {treemapify}: Draw treemaps in ggplot2
- {visdat}: Preliminary Exploratory Visualisation of Data
- {waffle}: Make waffle (square pie) charts in R
- {waterfalls}: R package to create waterfall charts
- {WVPlots}: Pre-packaged plots in R
Themes and aesthetics
- {add2ggplot}: Add more themes for your ggplot object
- {afcharts}: Produce Charts Following UK Government Analysis Function Guidance
- {amerika}: An American politics-inspired color palette generator
- {bbplot}: R package that helps create and export ggplot2 charts in the style used by the BBC News data team
- {blueycolors}: Provides bluey-inspired color palettes and ggplot2 scales
- {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
- {DOYPAColors}: Don't Overthink Your Palette of Colors
- {duke}: Creating a Color-Blind Friendly Duke Color Package
- {dutchmasters}: R package with colour palettes derived from famous paintings by 17th century Dutch masers
- {tricolore}: A flexible color scale for ternary compositions
- {gameofthrones}: Game of Thrones inspired palette for R
- {ggdc}: Datacamp Themes for ggplot2
- {ggcharts}: Get You to Your Desired Plot Faster
- {ggcute}: Cute things for ggplot2
- {ggdark}: Dark mode for ggplot2 themes
- {ggDracula}: Dracula for ggplot2
- {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
- {ggGenshin}: a collection of Genshin-styled color schemes
- {gghdx}: HDX Theme, Scales, and Other Conveniences for 'ggplot2'
- {gglaplot}: Makes graphics in the GLA style using ggplot2
- {gglgbtq}: Provides multiple palettes based on pride flags with tailored themes
- {ggnewscale}: Multiple Fill and Color Scales in 'ggplot2'
- {ggnuplot}: Make your ggplots look like gnuplots
- {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
- {ggRtsy}: Add Some Van Gogh Colors and Overlay Colors on Your 'ggplot()'
- {ggsci}: Scientific journal and sci-fi themed color palettes for ggplot2
- {ggseg}: Plotting tool for brain atlases, in ggplot
- {ggstar}: Star layer for ggplot2
- {ggtea}: Palettes and Themes 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
- {ggthemeUL}: A 'ggplot' Theme for University of Ljubljana
- {ggthemr}: Themes for ggplot2
- {ggx}: Translate natural language commands into ggplot commands
- {harrypotter}: Harry Potter inspired palette for R
- {hrbrthemes}: Opinionated, typographic-centric ggplot2 themes and theme components
- {INBOtheme}: Corporate identity theme for the Research Institute for Nature and Forest (INBO)
- {jcolors}: Colors Palettes for R and 'ggplot2', Additional Themes for 'ggplot2'
- {LaCroixColoR}: LaCroix Color Palettes for R
- (lemon): Freshing up your ggplots
- {mdthemes}: Markdown Themes for 'ggplot2'
- {MetBrewer}: Color palette package in R inspired by works at the Metropolitan Museum of Art in New York
- {MexBrewer}: Color Palettes Inspired by Works Mexican Muralists
- {mexicolors}: A Mexican politics-inspired color palette generator
- {MoMAColors}: Color Schemes based around artwork and the Museum of Modern Art
- {monochromeR}: A package for creating monochrome colour palettes and easily converting rgba values to hex codes
- {NatParksPalettes}: Color palette package inspired by National Parks
- {nord}: Northern-themed Color palettes
- {onsvplot}: National Road Safety Observatory (ONSV) Style for 'ggplot2' Graphics
- {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.
- {rcartocolor}: Implementation of the CARTOcolor palettes in R
- {Rdune}: Creates color palettes inspired by "Dune"
- {rockthemes}: R colour palettes based on classic rock albums and some other ones
- {savonliquide}: Check for Color Contrast Accessibility in R
- {scico}: Palettes for R based on the Scientific Colour-Maps
- {soilpalettes}: R color palettes inspired by soil profiles
- {stevethemes}: Steve’s ggplot2 Themes and Related Theme Elements
- {tgamtheme}: Globe and Mail Graphics Theme for 'ggplot2'
- {thematic}: Unified and automatic theming of ggplot2, lattice, and base R graphics
- {ThemePark}: Fun ggplot themes for popular culture
- {tinythemes}: Lightweight Repackaging of 'Themes' for 'ggplot2'
- {trekcolors}: Strak Trek color palettes
- {tvthemes}: ggplot2 themes and palettes based on your favorite TV shows
- {unhcrthemes}: UNHCR branded theme for ggplot2 and data visualization colour palettes
- {unicol}: The colors of your university
- {urbnthemes}: Urban Institute's ggplot2 theme and tools
- {viridis}: Colorblind-Friendly Color Maps for R
- {wesanderson}: A Wes Anderson color palette for R
- {wsjplot}: Style Time Series Plots Like the Wall Street Journal
Presentation, composition and scales
- {aplot}: Decorate a plot with associated information
- {camcorder}: Record plots generated during an R session and replay as a gif!
- {cowplot}: Streamlined Plot Theme and Plot Annotations for ggplot2
- {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
- {ggalign}: A 'ggplot2' Extension for Consistent Axis Alignment
- {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
- {ggfigdone}: Manage ggplot figures using ggfigdone
- {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
- {gglogger}: Track 'ggplot2' Calls
- {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
- {ggreveal}: Reveal a 'ggplot' Incrementally
- {ggtibble}: Create tibbles and lists of ggplot figures that can be modified as easily as regular ggplot figures
- {ggtrace}: Programmatically inspect, debug, and manipulate ggproto methods
- {ggtrack}: Add tracking banner to plots
- {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
- {legendry}: Extended Legends and Axes for 'ggplot2'
- {pagenum}: Add page number to R graphics
- {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
Interactive
- {ggiraph}: Make 'ggplot' Graphics Interactive
- {ggtips}: Adds interactive tooltip boxes to ggplots (standalone or rendered in Shiny)
- {plotly}: An interactive graphing library for R
Network
- {geomnet}: Network visualization in the ggplot2 framework
- {ggnet}: Network visualization with ggplot2
- {ggnetwork}: Geoms to plot networks with ggplot2
- {ggtangle}: Draw Network with Data
- {graphlayouts}: New layout algorithms for network visualizations in R
- {qgraph}: Graph Plotting Methods, Psychometric Data Visualization and Graphical Model Estimation
Spatial
- {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
- {ggfields}: Add vector fields layers to ggplots
- {ggmap}: A package for plotting maps in R with ggplot2
- {ggmapinset}: Add zoomed inset panels to your ggplot maps
- {ggOceanMaps}: Plot oceanographic research data on maps using ggplot2
- {ggredist}: Scales, Geometries, and Extensions of 'ggplot2' for Election Mapping
- {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
- {ggswissmaps}: Offers Various Swiss Maps as Data Frames and 'ggplot2' Objects
- {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
- {ozmaps}: Australian maps
- {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
- {stars}: Spatiotemporal Arrays, Raster and Vector Data Cubes
- {sugarbag}: An R package to create tessellated hexagon maps of Australia
- {sugarglider}: Create Glyph-Maps of Spatiotemporal Data
- {tidyterra}: tidyverse and ggplot2 methods for terra spatial objects
- {urbnmapr}: US state and county maps with Alaska and Hawaii
Time
- {deeptime}: Plotting Tools for Anyone Working in Deep Time
- {ggsurvfit}: Easy and Flexible Time-To-Event Figures
- {ggTimeSeries}: Time series visualisation
- {survminer}: Survival Analysis and Visualization
- {vistime}: Pretty timelines in R
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
- {ggfoundry}: Shape Foundry & Geom for 'ggplot2'
- {ggimage}: Use Images in ggplot2
- {ggpath}: Robust Image Rendering Support for 'ggplot2'
- {ggpattern}: ggplot geoms with pattern fills
- {ggtikz}: Add TikZ annotations with absolute data or relative plot coordinates to ggplots
- {mlbplotR}: R package to easily plot MLB logos
Data and models
- {edgebundle}: R package implementing edge bundling algorithms
- {effectplots}: Fast Effect Plots in R
- {distributional}: Vectorised distributions for R
- {dotwhisker}: Dot-and-Whisker Plots of Regression Results
- {FunnelPlotR}: Funnel plots for comparing institutional performance, with overdispersion adjustment
- {gaussplotR}: Fit, predict, and plot 2D Gaussians
- {GGally}: R package that extends ggplot2
- {ggbiplot}: A ggplot2 based biplot for principal components-like methods
- {ggcompare}: Mean Comparison in 'ggplot2'
- {ggcoverage}: Visualize and annotate genomic coverage with 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
- {ggfixest}: Dedicated ggplot2 methods for fixest model objects
- {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
- {ggisotonic}: Add isotonic or monotonic regression curves to ggplots
- {ggkegg}: Analyzing and visualizing KEGG information using the grammar of graphics
- {gglm}: Grammar of Graphics for Linear Model Diagnostic Plots
- {gglorenz}: Plotting Lorenz curves with the blessing of ggplot2
- {ggmice}: Visualize incomplete and imputed data
- {ggmugs}: Visualization of Multiple Genome-Wide Association Study Summary Statistics
- {ggols}: visual expositions of simpler linear models
- {ggparty}: ggplot2 visualizations for the partykit package
- {ggpca}: Publication-Ready PCA, t-SNE, and UMAP Plots
- {ggpmisc}: R package ggpmisc is an extension to ggplot2 and the Grammar of Graphics
- {ggpval}: Add statistical test or annotation to your ggplot2 plots
- {ggsem}: Interactively Visualize Structural Equation Modeling Diagrams
- {ggsmc}: Visualising Output from Sequential Monte Carlo Samplers and Ensemble-Based Methods
- {ggstats}: Extension to ggplot2 for plotting stats
- {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
- {ggpicrust2}: Make Picrust2 Output Analysis and Visualization Easier
- {ggQQunif}: QQ plots for big collections of p-values
- {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
- {halfmoon}: Techniques to Build Better Balance in Propensity Score Models
- {interactions}: A comprehensive, user-friendly toolkit for visualizing and analyzing statistical interactions
- {jskm}: R package for Kaplan-Meier Plot
- {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
- {moderndive}: R package for tidyverse-friendly introductory linear regression
- {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
- {prettyglm}: An R package to visualise glm coefficients
- {SBC}: Simulation-based Calibration
- {sjPlot}: Data Visualization for Statistics in Social Science
- {starbility}: Coefficient stability plots under combinations of controls
- {superb}: Summary plots with adjusted error bars
- {tidybayes}: Bayesian analysis + tidy data + geoms
- {treeheatr}: Heatmap-integrated Decision Tree Visualizations
- {truchet}: Package for creating Truchet tiles and mosaics
- {visR}: A package to wrap functionality for plots, tables and diagrams adhering to graphical principles
Python packages
- {lets-plot}: multiplatform plotting library built on the principles of the Grammar of Graphics
- {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)
Julia packages
- Gadfly.jl: Crafty statistical graphics for Julia
- TidierPlots.jl: Tidier data visualization in Julia, modeled after the ggplot2 R package
Books
- Data Visualization: A practical introduction
- Data Visualization with R
- Fundamentals of Data Visualization
- ggplot2: Elegant Graphics for Data Analysis
- Modern Data Visualization with R
Book chapters
- Cookbook for R: Graphs
- R for Data Science: Data visualisation
- Modern Statistics for Modern Biology: High Quality Graphics in R
- Quantitative Politics with R: Introduction to ggplot2
Online Courses
Galleries
Text tutorials
-
Beginner, introduction
- a ggplot2 grammar guide
- A Simple Introduction to the Graphing Philosophy of ggplot2
- Aesthetics, Geoms, Mappings, Scales, What?
- An Introduction on How to Make Beautiful Charts With R and ggplot2
- ggplot2 101
- ggplot2 Quickref
- Beautiful plotting in R: A ggplot2 cheatsheet
- Top 50 ggplot2 Visualizations - The Master List (With Full R Code)
- A ggplot2 Tutorial for Beautiful Plotting in R
- Statistical tools for high-throughput data analysis: ggplot2 - Essentials
- Efficient and beautiful data synthesis: Taking your tidyverse skills to the next level
- The Ultimate Guide to Get Started With ggplot2
- Tips and tricks for ggplot2
-
Intermediate, general
-
Theme customisation
- 3 alternatives to a discrete color scale legend in ggplot2
- 5 Powerful ggplot2 Extensions
- 10 Levels of ggplot2: From Basic to Beautiful
- 10 Tips to Customize Text Color, Font, Size in ggplot2 with element_text()
- 15 Tips to Customize lines in ggplot2 with element_line()
- A complete guide to scales
- An overview of ggplot2 themes
- Adding social media icons to charts with {ggplot2}
- Alternatives to Simple Color Legends in ggplot2
- Bar plot checklist
- Changing Glyph in legend in ggplot2
- Coloured text in {ggplot2}: {ggtext} vs {marquee}
- Creating and using custom ggplot2 themes
- Custom colour palettes for {ggplot2}
- Custom themes in ggplot2
- Five Steps to Improve Your Chart Quickly
- Getting started with theme()
- ggplot Wizardry Hands-On
- How to build a Tufte-style weather graph in R using ggplot2
- How to make any plot look better
- Jazz up your ggplots!
- Creating corporate colour palettes for ggplot2
- Label line ends in time series with ggplot2
- Data Viz with Python and R: ggplot2
- The Evolution of a ggplot (Ep. 1)
- ggplot2 Theme Elements Demonstration
- Quick and easy ways to deal with long labels in ggplot2
- Understanding text size and resolution in ggplot2
- Variations on a ggtheme: Applying a unifying aesthetic to your plots
- What we learned from creating a custom graphics package in R using ggplot2
-
Plot layers
- 6 Common ggplot2 Mistakes
- A Quick How-to on Labelling Bar Graphs in ggplot2
- Annotated Forest Plots using ggplot2
- Correlation heat maps with {ggplot2}
- Creating a cracked egg plot using {ggplot2} in R
- Creating flowcharts with {ggplot2}
- Creating typewriter-styled maps in {ggplot2}
- Creating upset charts with ggplot2
- Exploring ggplot2 boxplots - Defining limits and adjusting style
- Exploring other {ggplot2} geoms
- ggpathway: A tutorial for pathway visualization using tidyverse, igraph, and ggraph
- Heatmaps in ggplot2
- How to add annotations in ggplot: should you use geoms or annotations?
- How to create diverging bar plots
- Make Multi-point “dumbbell” Plots in ggplot2
- Real Emojis in ggplot2
- Recreate a FiveThirtyEight Chicklet Stacked Bar Chart in ggplot2
- geom_paired_raincloud(): A {ggplot2} geom for visualizing change in distribution between two conditions
- Plot moving average in R using ggplot2
- Pyramid Plots in ggplot2
- Radial Patterns in ggplot2
- Storytelling in ggplot using rounded rectangles
- Three Ways to Include Images in Your ggplots
- Visualizing Distributions with Raincloud Plots (and How to Create Them with ggplot2)
- Visualizing ordinal variables
- Waffle charts with svg images
-
Regression models
-
Spatial
- 6 easy ways to map population density in R
- Adding context to maps made with ggplot2
- Bivariate maps with ggplot2 and sf
- Combining maps and patterns with {ggplot2}
- Drawing waterlines with ggplot2 in R
- How to fill maps with density gradients with R, {ggplot2}, and {sf}
- How to make fancy road trip maps with R and OpenStreetMap
- Inset maps with ggplot2
- Making Middle Earth maps with R
- Plot RGB satellite imagery in true-color with ggplot2 in R
- Visualising the 2022 Australian federal election with geom_sugarbag
-
Interactive
-
Presentation
- Align multiple ggplot2 plots by axis
- Annotated equations in ggplot2: Importing latex into ggplot2
- Combining plots in ggplot2
- Designing ggplots: making clear figures that communicate
- How to use natural and base 10 log scales in ggplot2
- Layered Presentation of Graphics with +aes() in ggplot2
- Label line ends in time series with ggplot2
- Reordering and facetting for ggplot2
- Save space in faceted plots
- Self-documenting plots in ggplot2
-
Statistics
-
Python
Video tutorials
-
Beginner/intermediate
-
Customization
- How to fix the sizes in your ggplots
- How to make Boxplots in R More Informative (ggplot2 and Extension Packages)
- ggplot2 Wizardry: My Favorite Tricks and Secrets for Beautiful Plots in R
- Beyond Bar and Box Plots: Chart Alternatives and How to Design Them with ggplot2
- Perfect Bar Charts in 150 Seconds
- Recreate a real-world, complex dataviz with R & ggplot
-
Packages
- Create Raincloud Plots with ggplot2 | A Step by Step Guide
- Building a ggplot2 rollercoaster: Creating amazing 3D data visualizations in R
- esquisse: ggplot2 builder with Tableau Drag-and-Drop Interface
- How to Plot Statistical Group Comparisons in R: ggstatsplot
- Make Your Charts Interactive With the {ggiraph} Package
TidyTuesday
-
Popular submissions