Alternatives To Patchwork
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
G610,214654143 days ago414August 04, 2023425mitTypeScript
♾ A Graph Visualization Framework in JavaScript
Gojs7,0901619 days ago264July 31, 2023otherHTML
JavaScript diagramming library for interactive flowcharts, org charts, design tools, planning tools, visual languages.
Vivagraphjs3,6153193 months ago29October 27, 2019102otherJavaScript
Graph drawing library for JavaScript
2 months ago23otherR
The Composer of ggplots
Markvis1,5343514 days ago11July 13, 20172mitJavaScript
make visualization in markdown. 📊📈
a month ago25mitJavaScript
package managers visualization
Ggraph96360998 months ago11October 09, 202274otherR
Grammar of Graph Graphics
Graphin915119a month ago140August 19, 202354mitTypeScript
A React toolkit for graph visualization based on G6
Circlize829744810 months ago45May 10, 202227otherR
Circular visualization in R
2 months ago76otherJavaScript
Easy interactive dashboards for R
Alternatives To Patchwork
Select To Compare

Alternative Project Comparisons


R-CMD-check CRAN_Release_Badge CRAN_Download_Badge Codecov test coverage

The goal of patchwork is to make it ridiculously simple to combine separate ggplots into the same graphic. As such it tries to solve the same problem as gridExtra::grid.arrange() and cowplot::plot_grid but using an API that incites exploration and iteration, and scales to arbitrarily complex layouts.


You can install patchwork from CRAN using install.packages('patchwork'). Alternatively you can grab the development version from github using devtools:

# install.packages("devtools")

Basic example

The usage of patchwork is simple: just add plots together!


p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp))
p2 <- ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear))

p1 + p2

patchwork provides rich support for arbitrarily complex layouts with full alignment. As an example, check out this very readable code for nesting three plots on top of a third:

p3 <- ggplot(mtcars) + geom_smooth(aes(disp, qsec))
p4 <- ggplot(mtcars) + geom_bar(aes(carb))

(p1 | p2 | p3) /

Learn more

patchwork can do so much more. Check out the guides for learning everything there is to know about all the different features:

Code of Conduct

Please note that the patchwork project is released with a Contributor Code of Conduct. By contributing to this project, you agree to abide by its terms.

Popular Visualization Projects
Popular Layout Projects
Popular User Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Ggplot Extension