-
Notifications
You must be signed in to change notification settings - Fork 163
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Allow missing tag level #147
Comments
@thomasp85 this fix fails in the special case where the user arranges the plots using the library(tidyverse)
library(patchwork)
p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp)) + ggtitle("Main plot 1")
p2 <- ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear)) + ggtitle("Main plot 2")
h1 <- ggplot(mtcars) + geom_histogram(aes(mpg)) + plot_layout(tag_level = 'new') + ggtitle("Subplot 1")
h2 <- ggplot(mtcars) + geom_histogram(aes(gear)) + scale_x_continuous(limits = c(2.5, 5.5), expand = c(0, 0)) + ggtitle("Subplot 2") + plot_layout(tag_level = 'new')
h1 + h2 + p1 + p2 + plot_annotation(tag_levels = c('A'))
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#> Warning: Removed 2 rows containing missing values (geom_bar). Created on 2021-03-03 by the reprex package (v1.0.0) |
A bit of a hack is the following solution using the text-based library(tidyverse)
library(patchwork)
p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp)) + ggtitle("Main plot 1")
p2 <- ggplot(mtcars) + geom_boxplot(aes(gear, disp, group = gear)) + ggtitle("Main plot 2")
h1 <- ggplot(mtcars) + geom_histogram(aes(mpg)) + plot_layout(tag_level = 'new') + ggtitle("Subplot 1")
h2 <- ggplot(mtcars) + geom_histogram(aes(gear)) + scale_x_continuous(limits = c(2.5, 5.5), expand = c(0, 0)) + ggtitle("Subplot 2") + plot_layout(tag_level = 'new')
layout = "
CD
AB
"
p1 + p2 + h1 + h2 + plot_annotation(tag_levels = c('A')) + plot_layout(design = layout)
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#> `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
#> Warning: Removed 2 rows containing missing values (geom_bar). Created on 2021-03-03 by the reprex package (v1.0.0) |
@thomasp85 I landed here from Google, just adding the syntax that took me a while to figure out:
This, for example, deletes the F if it were there |
Good hack, Thanks a lot!
|
Hi there,
My project team and I have found this package much more useful and intuitive than
cowplot
, so thank you!We've been using
patchwork
to combine multiple plots into one figure. Our largest figure is a 3x3 grid where each plot is a combined 2x1 plot, so there's actually a total of 18ggplot
objects.We were hoping to use the
plot_layout(tag_level = 'new')
feature to skip labeling our subplots, but the skipped subplots also skip the associated label letters. Here is a simplified example:Created on 2020-01-17 by the reprex package (v0.3.0)
We've instead used
ggplot2
'slabs(title = )
feature, like in the modified example below, to manually create labels for our nine plots, but were hoping for a simpler solution throughpatchwork
.Created on 2020-01-17 by the reprex package (v0.3.0)
The text was updated successfully, but these errors were encountered: