Pack a ggplot object forward to ggplot2loon expressions
via a pipe-operator "%>%".
gg_pipe(data, ggObj)a data frame to use for ggplot
a ggplot object to be passed though
a ggplot evaluate object
When "+" and "%>%" both appear in pipe operations, "%>%" takes the priority of "+",e.g:
mtcars %>%
ggplot(aes(mpg, wt, colour = cyl)) +
geom_point() %>%
ggplot2loon(),
error would occur. The reason is
geom_point() %>% ggplot2loon()
would run before
ggplot(aes(mpg, wt, colour = cyl)) + geom_point().
Hence, we need a function gg_pipe() to pack the ggplot object and force operations happen in order.
if(requireNamespace("magrittr") && interactive()) {
if (FALSE) {
# Error
g <- mtcars %>%
ggplot(aes(mpg, wt, colour = cyl)) +
geom_point() %>%
ggplot2loon()
}
g <- mtcars %>%
gg_pipe(
ggplot(aes(mpg, wt, colour = cyl)) + geom_point()
) %>%
ggplot2loon()
}