Create ggplot2 plots in a loop.
ggloop allows the user to use create multiple ‘ggplot2’ plots. Plots are created by passing multiple aesthetics via a vector of aesthetics to ggloop(). Users can use both dplyr-like syntax (i.e. x = mpg:hp, y = 1, color = 4:8, etc) and ggplot2-like syntax (i.e x = mpg/cyl, y = wt + hp, color = factor(cyl), etc).
## CRAN
install.packages("ggloop")
## GitHub
devtools::install_github("seasmith/ggloop") You can see ggloop in action with the intro vignette (vignette("intro", "ggloop")). You can also see the example and the very brief overview available below.
library(ggloop)
library(ggplot2)
g <- ggloop(data = mtcars,
mappings = aes_loop(x = c(mpg:hp, mpg/cyl),
y = c(hp:mpg, disp/hp),
color = gear),
remap_xy = FALSE)
g <- g + geom_point()
g$color.gear$x.mpg_y.hp
ggloop has three exported functions:
ggloop(data, mappings = aes_loop(), remap_xy = TRUE, remap_dots = FALSE, ..., environment = parent.frame() )
ggplot2::ggplot() and its arguments.x, y, and ... arguments of length one or less.... argument in aes_loop().... argument is supplied. ... names sit on the top-level of the nested list (they divide the list into however many parts based on the number of such arguments and the remapping behavior). x and y sit at the bottom-level of the nested listaes_loop()
aes()
c() and NOT have any nested c().dplyr-like = mpg:hp, 1, 5:9, cyl, etc.ggplot2-like = factor(cyl), gear + cyl, etc.c() as a wrapper and only c().%L+%
+ operator for a nested list, list, or single ‘ggplot’ object.