group_nest
して map
で ggplot
を作ったあと、そのfigsをまとめて1つのfigにしたいときがある。
そういうときに patchwork::wrap_plots
が便利。
例えばこんなコード。
pacman::p_load(tidyverse) d_plot <- iris %>% group_nest(Species) %>% mutate( figure = map( .x = data, .f = ~ { ggplot(data = .x) + geom_point(aes(x = Sepal.Length, y = Sepal.Width)) } ) ) patchwork::wrap_plots(d_plot$figure)
あとは wrap_plots
の使い方としては、例えばenvironmentのなかに plot_{hoge}
みたいなggplotオブジェクトがあって、それらを一括で呼び出して、 wrap_plots
したいときは
patchwork::wrap_plots( map( .x = str_subset(ls(), '^plot_.*'), .f = ~ get(.x) ) )
という書き方も使える。