patchwork: The Composer of Plots

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'.

Version: 1.3.0
Imports: ggplot2 (≥ 3.0.0), gtable, grid, stats, grDevices, utils, graphics, rlang (≥ 1.0.0), cli, farver
Suggests: knitr, rmarkdown, gridGraphics, gridExtra, ragg, testthat (≥ 2.1.0), vdiffr, covr, png, gt (≥ 0.11.0)
Published: 2024-09-16
DOI: 10.32614/CRAN.package.patchwork
Author: Thomas Lin Pedersen ORCID iD [cre, aut]
Maintainer: Thomas Lin Pedersen <thomasp85 at gmail.com>
BugReports: https://github.com/thomasp85/patchwork/issues
License: MIT + file LICENSE
URL: https://patchwork.data-imaginist.com, https://github.com/thomasp85/patchwork
NeedsCompilation: no
Materials: README NEWS
CRAN checks: patchwork results

Documentation:

Reference manual: patchwork.pdf
Vignettes: Getting Started (source, R code)

Downloads:

Package source: patchwork_1.3.0.tar.gz
Windows binaries: r-devel: patchwork_1.3.0.zip, r-release: patchwork_1.3.0.zip, r-oldrel: patchwork_1.3.0.zip
macOS binaries: r-release (arm64): patchwork_1.3.0.tgz, r-oldrel (arm64): patchwork_1.3.0.tgz, r-release (x86_64): patchwork_1.3.0.tgz, r-oldrel (x86_64): patchwork_1.3.0.tgz
Old sources: patchwork archive

Reverse dependencies:

Reverse depends: immunarch, MixOptim, Nebulosa, ngsReports, pmxTools
Reverse imports: activAnalyzer, AnanseSeurat, aplot, autoReg, autostats, bartMan, besthr, BioNERO, bridger, brinton, calmr, caretEnsemble, CarletonStats, CBNplot, CCPlotR, cellularautomata, Cepo, ChemoSpec, chillR, cia, circhelp, clevRvis, cmcR, cogeqc, ComplexUpset, CRABS, crosshap, CytoMDS, CytOpT, Damsel, dartR, dartR.base, dartR.captive, dartR.popgen, dartR.sexlinked, dataquieR, dearseq, decisionSupport, decontX, DESpace, dgpsi, diversityForest, dotwhisker, dynamic, dynamite, dyngen, ecic, effectplots, EpiForsk, EpiNow2, epiregulon.extra, ern, escape, eudract, EvoPhylo, extraChIPs, fairmodels, fdaPOIFD, figpatch, FindIT2, fitbitViz, foqat, forestecology, funcharts, funkyheatmap, gdverse, ggbrain, ggcharts, ggheatmap, ggkegg, gglm, ggquickeda, ggseqplot, ggstats, ggstatsplot, ggsurvfit, gosset, GPvam, grafify, grandR, GRaNIE, gratia, greatR, GUIDEseq, hahmmr, HaploCatcher, HGC, hierarchicalSets, hockeystick, HybridExpress, HYPEtools, idopNetwork, iglu, immunogenViewer, infer, inferCSN, insane, insurancerating, interpretCI, intradayModel, iNZightRegression, iNZightTS, itsdm, ivDiag, jskm, lactater, lares, LMD, LongDat, loon.ggplot, LSTS, mastR, mcp, memes, messi, metabolic, metan, MF.beta4, mFD, MicrobiotaProcess, miloR, mispitools, mlr3shiny, modgo, motifTestR, mrgsim.sa, multimedia, multiplestressR, multiWGCNA, NanoMethViz, NetFACS, NetworkExtinction, numbat, orthogene, pcvr, PIUMA, plotthis, pmartR, powerly, ppseq, PRECAST, ProgModule, psycModel, qacBase, qmtools, r6qualitytools, RadEro, radiant.basics, radiant.data, radiant.model, radiant.multivariate, RandomWalker, RARfreq, rcssci, redist, rhierbaps, rnaCrosslinkOO, RNAseqQC, Robyn, rprimer, scBubbletree, sccomp, scCustomize, scDiagnostics, scGate, scistreer, ScreenR, scRNAseqApp, scRNAstat, SeaVal, SEIRfansy, serosv, Seurat, shapviz, shinyMixR, shinySbm, Signac, SimplyAgree, SingleMoleculeFootprinting, smallsets, smplot2, SpaCCI, SPARRAfairness, spatialRF, Spectran, SpliceWiz, splithalf, spotoroo, StabilityApp, standR, starvz, suddengains, SuperCell, survex, synlet, Sysrecon, tidychangepoint, TidyDensity, tidyHeatmap, tidyplots, tidysdm, tinyarray, toxSummary, treefit, treekoR, tRigon, triplot, triptych, UpSetVP, visvaR, visxhclust, vital, Voyager, whippr, wordpredictor, Xplortext
Reverse suggests: accrualPlot, ale, AlleleShift, appeears, ARUtools, autonomics, BayesianReasoning, BayesSpace, bayestestR, bbknnR, BindingSiteFinder, broom.helpers, bsitar, camcorder, canaper, Canek, chem16S, ChemoSpecUtils, chessboard, CleanUpRNAseq, clugenr, ClustAssess, ClustIRR, CohortSurvival, concordexR, coveffectsplot, cowplot, cricketdata, cubble, CytoPipelineGUI, CytoSimplex, decoupleR, dominoSignal, doubletrouble, dscore, easybio, easystats, EDCimport, EWCE, FACT, factR, FAVAR, ferrn, fivethirtyeight, FLORAL, forestly, funtimes, geofi, GeomxTools, geslaR, GET, ggalign, ggblanket, ggbreak, ggdist, ggDoE, ggeasy, ggeffects, gggenomes, ggHoriPlot, ggmice, ggmosaic, ggprism, ggrepel, ggridges, ggspavis, ggtreeExtra, GIFT, goldfish, growR, gspcr, Guerry, harmony, hdxmsqc, heplots, hermiter, HiContacts, HVT, ibawds, IgGeneUsage, iml, industRial, inlabru, ipd, ipeaplot, jlmerclusterperm, JSmediation, ldsr, LightLogR, lmls, LorMe, lterdatasampler, manynet, mapindia, marginaleffects, marqLevAlg, marquee, MASSExtra, MassWateR, matrixset, MedLEA, metaconfoundr, MetMashR, mfp2, mia, miaViz, MiscMetabar, misty, mlr3fairness, mlr3spatiotempcv, mlr3viz, modelbased, moderndive, MorphoRegions, mpmsim, MRG, multifunc, muscat, mvinfluence, nestedmodels, nichetools, NMsim, nn2poly, nullranges, OBIC, oncomsm, painbow, palettes, partR2, pctax, performance, plotmm, plotscaper, POMA, portvine, PoweREST, prcbench, precrec, pvLRT, qPLEXanalyzer, r4ds.tutorials, r5r, regressinator, rempsyc, reporter, reservr, rfishdraw, rmcorr, robber, rTPC, rxode2, scatterbar, scp, SCpubr, see, segregation, sfdep, sigminer, simdata, SimNPH, SingleCellAlleleExperiment, singleCellHaystack, SpaNorm, speckle, ssdtools, sSNAPPY, SUMMER, surveyPrev, tabnet, tfrmt, tidypaleo, tinythemes, tlars, trending, TRexSelector, UCell, unusualprofile, velociraptor, vissE, vroom, weitrix, whitewater, x3ptools

Linking:

Please use the canonical form https://CRAN.R-project.org/package=patchwork to link to this page.