Skip to content

patchwork

The Composer of Plots

v1.3.2 · Aug 25, 2025 · MIT + file LICENSE

Description

The 'ggplot2' package provides a strong API for sequentially building up a plot, but does not concern itself with composition of multiple plots. 'patchwork' is a package that expands the API to allow for arbitrarily complex composition of plots by, among others, providing mathematical operators for combining multiple plots. Other packages that try to address this need (but with a different approach) are 'gridExtra' and 'cowplot'.

Downloads

342.3K

Last 30 days

169th

904.7K

Last 90 days

3.5M

Last year

Trend: +18% (30d vs prior 30d)

CRAN Check Status

14 OK
Show all 14 flavors
Flavor Status
r-devel-linux-x86_64-debian-clang OK
r-devel-linux-x86_64-debian-gcc OK
r-devel-linux-x86_64-fedora-clang OK
r-devel-linux-x86_64-fedora-gcc OK
r-devel-macos-arm64 OK
r-devel-windows-x86_64 OK
r-oldrel-macos-arm64 OK
r-oldrel-macos-x86_64 OK
r-oldrel-windows-x86_64 OK
r-patched-linux-x86_64 OK
r-release-linux-x86_64 OK
r-release-macos-arm64 OK
r-release-macos-x86_64 OK
r-release-windows-x86_64 OK

Check History

OK 14 OK · 0 NOTE · 0 WARNING · 0 ERROR · 0 FAILURE Mar 10, 2026

Reverse Dependencies (514)

imports

AgeBandDecomposition Analitica AnanseSeurat AssumpSure BOP2FE BayesPower BayesSIM BioGSP CLRtools CRABS CarletonStats ChemoSpec CimpleG ComplexUpset Coxmos CytOpT DEplotting DamageDetective E2E EcoCleanR EpiForsk EpiNow2 EvoPhylo FishDiveR G2Sd GPvam GrowthCurveME HYPEtools HaploCatcher LMD LSTS LipidMS LongDat LongDecompHE MF.beta4 MLwrap MetaEntropy MixMashNet NetworkChange NetworkExtinction OmicFlow OrgHeatmap PRECAST PopPsiSeqR RARfreq RGraphSpace RNAseqQC RadEro RandomWalker Rbearcat RepeatedHighDim Robyn SCoRES SEIRfansy SPARRAfairness SeaVal SepTest SerolyzeR Seurat Signac SimplyAgree SlimR SlotLim SpaCCI Spectran SppTrend StabilityApp StreamCatTools SuperCell SurprisalAnalysis Sysrecon TidyDensity Tivy Xplortext activAnalyzer agriReg ale aplot autoReg autograph autostats avstrat bartMan bayesics besthr bfbin2arm biometryassist blockr.ggplot bml brinton bspcov calmr caretEnsemble chillR choicedata cia cifmodeling circhelp climatehealth codyna crane crosshap ctsmTMB dartR dartR.base dartR.captive dartR.popgen dartR.sexlinked dataquieR decisionSupport dgpsi diversityForest dotwhisker duet dynamite dyngen eVCGsampler ecic edar effectplots ern eudract fairmodels fdaPOIFD ffaframework figpatch fitbitViz foqat forestsearch funcharts funkyheatmap gammaFuncModel gdverse geohabnet gg1d ggEDA ggbrain ggcharts ggforestplotR gglm ggmRSCU ggpicrust2 ggquickeda ggrecipes ggreveal ggseqplot ggstats ggstatsplot ggsurvfit gipsDA gosset grafify grandR gratia greenR growthTrendR gsaot gtregression guideR hahmmr hhmR hierarchicalSets hockeystick iNZightRegression iNZightTS idopNetwork iglu infer insane insetplot insurancerating interpretCI intradayModel itsdm ivDiag ivd ivolcano jskm kollaR lactater lares loon.ggplot mFD maraca markstat mcp messi metabolic metan mispitools mlr3shiny modgo mrIML mrgsim.sa multimedia multiplestressR mvgam myTAI neuralGAM numbat oRaklE omixVizR openair ordPanel packageRank pctax pcvr pep725 plotlsirm plotthis pmartR powerly ppseq puff qbinplots qbrms quollr r6qualitytools rACMEMEEV radiant.basics radiant.data radiant.model radiant.multivariate randotools rbiom rcssci reappraised redist resourcecode retmort rhierbaps rnaCrosslinkOO rupturesRcpp sae4health scCustomize scGate scPairs scRNAstat scistreer see semboottools seqHMM serocalculator serosv sffdr shadowVIMP shapviz shinyMixR shinySbm shinymrp skytrackr smallsets smplot2 spatialRF splithalf spotoroo starvz sulcimap sumvar survex sysAgNPs tRigon thisplot tidyGenR tidyHeatmap tidypopgen tidysdm tinyarray topics toxSummary trackeR traumar treefit triptych upset.hp uteals vacalibration vimixr vismi visvaR visxhclust vital whippr

suggests

AMISforInfectiousDiseases ARUtools AlleleShift BayesERtools BayesianReasoning CNVreg Canek CaseBasedReasoning CausalSpline ChemoSpecUtils ClustAssess CohortSurvival ConfidenceEllipse CytoSimplex EDCimport FAVA FAVAR FLORAL FuzzySpec GET GIFT Guerry HVT IBLM IncidencePrevalence JSmediation LightLogR LorMe MASSExtra MRG MassWateR MedLEA MiscMetabar MorphoRegions MyoScore NMsim OBIC PKbioanalysis PatientProfiles PoweREST RegimeChange Ruido SCpubr SPIChanges SUMMER SemNetDictionaries SeuratExplorer SignalY SimNPH SuperSurv TRexSelector Upsilon VizTest accrualPlot amp.dm appeears bage bayestestR bbknnR beezdemand behaviorchange bidser bifrost biomod2 bootkmeans brand.yml broom.helpers bsitar camcorder camtrapR canaper canvasXpress cgam chem16S chessboard chomper clugenr coveffectsplot cowplot cricketdata cubble decisionpaths delimtools dscore duckspatial easyRaschBayes easybio easystats ecorisk epmfd fastml faux ferrn fftab fishmechr fivethirtyeight flextable fmesher fonctionr forestecology forestly fractalforest funtimes geofi geslaR ggDoE ggHoriPlot ggblanket ggbreak ggdibbler ggdist ggeasy ggeffects ggformula gggenomes ggguides gghinton gglyph ggmice ggpedigree ggprism ggrefine ggrepel ggridges ggwidth goldfish growR gspcr harmony hatchR heplots hermiter hmde ibdsim2 iml incubate industRial inferCSN inlabru ipd ipeaplot jlmerclusterperm likelihoodTools lionfish lisat lmls lterdatasampler maidr mapindia marginaleffects marqLevAlg marquee mascarade matrixset mccount metaconfoundr mfp2 misty mlmoderator mlr3fairness mlr3spatiotempcv mlr3viz mnirs modelbased moderndive mpmsim mrddGlobal multifunc mvinfluence nichetools nn2poly pacu painbow palettes paramix partR2 performance plotmm plotscaper portvine prcbench precrec projoint pvLRT quarto r4ds.tutorials r5r rTPC rbmiUtils rcldf regressinator rempsyc reporter reservr rmcorr robber rredlist rxode2 scatterbar searchAnalyzeR segregation sfdep sigminer simdata singleCellHaystack sitrep spStack spinifex ssdtools surveyPrev tabnet taylor tfrmt tidychangepoint tidypaleo tinythemes tlars trending unityForest unusualprofile vayr vroom whitewater wmwAUC x3ptools xplainfi

Dependency Network

Dependencies Reverse dependencies ggplot2 gtable rlang cli farver MixOptim SimpleUpset immunarch nzilbb.vowels pmxTools AgeBandDecomposition Analitica AnanseSeurat AssumpSure BOP2FE BayesPower BayesSIM BioGSP CLRtools CRABS +499 more reverse deps patchwork

Version History

new 1.3.2 Mar 10, 2026
updated 1.3.2 ← 1.3.1 diff Aug 24, 2025
updated 1.3.1 ← 1.3.0 diff Jun 20, 2025
updated 1.3.0 ← 1.2.0 diff Sep 15, 2024
updated 1.2.0 ← 1.1.3 diff Jan 7, 2024
updated 1.1.3 ← 1.1.2 diff Aug 13, 2023
updated 1.1.2 ← 1.1.1 diff Aug 18, 2022
updated 1.1.1 ← 1.1.0 diff Dec 16, 2020
updated 1.1.0 ← 1.0.1 diff Nov 8, 2020
updated 1.0.1 ← 1.0.0 diff Jun 21, 2020
new 1.0.0 Nov 30, 2019