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()
}