knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>"
)

Generate demo plots

# devtools::install_github("thomasp85/patchwork")
library(tidyverse)
library(patchwork)
library(bro)

p1 <- ggplot(mtcars) +
  geom_point(aes(mpg, disp)) +
  ggtitle('Plot 1')

p2 <- ggplot(mtcars) +
  geom_boxplot(aes(gear, disp, group = gear)) +
  ggtitle('Plot 2')

p3 <- ggplot(mtcars) +
  geom_point(aes(hp, wt, colour = mpg)) +
  ggtitle('Plot 3')

p4 <- ggplot(mtcars) +
  geom_bar(aes(gear)) +
  ggtitle('Plot 4')

patchwork1 <-
  p1 + p2 + p3 + p4 +
  plot_layout(
    ncol = 4,
    widths = unit(c(50, 25, 50, 25), "mm"),
    heights = unit(50, "mm"),
    guides = "collect"
    )

patchwork2 <-
  p1 + p2 + p3 + p4 +
  plot_layout(
    ncol = 4,
    widths = unit(c(50, 25, 50, 205), "mm"),
    heights = unit(25, "mm"),
    guides = "collect"
  )

patchwork3 <-
  p1 + p2 + p3 + p4 +
  plot_layout(
    ncol = 4
  )
# test bro_get_ggsize -----------------------------------------------------

bro_get_ggsize(p1)
bro_get_ggsize(list(p1, p2, p3))
bro_get_ggsize(list(patchwork1, patchwork2, patchwork3))
bro_get_ggsize(patchwork1)
bro_get_ggsize(patchwork2)
bro_get_ggsize(patchwork3)
# test bro_ggsave_paged --------------------------------------------------

# bro_ggsave_paged(p1, "test.pdf")
# bro_ggsave_paged(list(p1, p2, p3), "test.pdf")
# bro_ggsave_paged(list(patchwork1, patchwork2, patchwork3), "test.pdf")
# bro_ggsave_paged(patchwork1, "test.pdf")
# bro_ggsave_paged(patchwork2, "test.pdf")
# bro_ggsave_paged(patchwork3, "test.pdf")
# 
# bro_ggsave_paged(list(p1, p2, p3), "test.pdf")
# bro_ggsave_paged(list(p1, p2, p3), "test.png")
# bro_ggsave_paged(list(p1, p2, p3), "test.png", burst_to_multiple_files = TRUE)
# 
# bro_ggsave_paged(list(patchwork1, patchwork2, patchwork3), "test.pdf")
# bro_ggsave_paged(list(patchwork1, patchwork2, patchwork3), "test.png")
# bro_ggsave_paged(list(patchwork1, patchwork2, patchwork3), "test.png", burst_to_multiple_files = TRUE)
# test bro_wrap_plots_paged -----------------------------------------------

plots <-
  list(p1, p2, p3, p4, p4, p3, p2, p1)

plots %>% bro_wrap_plots_paged()
plots %>% bro_wrap_plots_paged(width = unit(20, "mm"), height = unit(20, "mm"))

plots %>% bro_wrap_plots_paged(ncol = 2, nrow = 2)
plots %>% bro_wrap_plots_paged(ncol = 2, nrow = 2,
                               width = unit(20, "mm"), height = unit(20, "mm"))

# plots %>% bro_wrap_plots_paged(ncol = 2, nrow = 2, width = unit(20, "mm"), height = unit(20, "mm")) %>%
#   bro_ggsave_paged("test.pdf")
# 
# plots %>% bro_wrap_plots_paged(ncol = 6, nrow = 6, width = unit(40, "mm"), height = unit(40, "mm")) %>%
#   bro_ggsave_paged("test.pdf")
# 
# plots %>% bro_wrap_plots_paged(ncol = 3, nrow = 3) %>%
#   bro_ggsave_paged("test.pdf")
# 
# plots %>% bro_wrap_plots_paged(ncol = 6, nrow = 6) %>%
#   bro_ggsave_paged("test.pdf")
# test bro_facet_wrap_paged -----------------------------------------------

bro_data_exprs_sel <- 
  bro_data_exprs %>% 
  nest(data = -external_gene_name) %>% 
  filter(row_number() %in% c(1:4,20:23)) %>% 
  unnest(cols = c(data))

p5 <- 
  bro_data_exprs_sel %>% 
  ggplot(aes(group, expression, color = sample_type)) +
  geom_boxplot(width = 0.6, position = position_dodge(width = 0.8))

p5

p5 %>% bro_facet_wrap_paged(facet_var = external_gene_name)
p5 %>% bro_facet_wrap_paged(facet_var = external_gene_name,
                            width = unit(20, "mm"), height = unit(20, "mm"))

p5 %>% bro_facet_wrap_paged(facet_var = external_gene_name, ncol = 2, nrow = 2)
p5 %>% bro_facet_wrap_paged(facet_var = external_gene_name, ncol = 2, nrow = 2,
                            width = unit(35, "mm"), height = unit(35, "mm"))

p1 %>% bro_facet_wrap_paged(facet_var = cyl, ncol = 1, nrow = 1, width = unit(20, "mm"), height = unit(20, "mm")) %>%
  bro_ggsave_paged("test.pdf")

p1 %>% bro_facet_wrap_paged(facet_var = cyl, ncol = 2, nrow = 2, width = unit(40, "mm")) %>%
  bro_ggsave_paged("test.pdf", height = 200)

p1 %>% bro_facet_wrap_paged(facet_var = cyl, ncol = 2, nrow = 2, width = unit(40, "mm")) %>%
  bro_ggsave_paged("test.pdf")

p1 %>% bro_facet_wrap_paged(facet_var = cyl, ncol = 2, nrow = 2, width = unit(20, "mm"), height = unit(20, "mm")) %>%
  bro_ggsave_paged("test.png")

p1 %>% bro_facet_wrap_paged(facet_var = cyl, ncol = 2, nrow = 2) %>%
  bro_ggsave_paged("test.png")


jbengler/bro documentation built on Aug. 1, 2023, 9:09 a.m.