l_ggplot {loon.ggplot} | R Documentation |
Automatically create a loon widget
Description
Create a loon
widget with ggplot
syntax
Usage
l_ggplot(data = NULL, mapping = aes(), ..., environment = parent.frame())
Arguments
data |
Default dataset to use for plot. If not already a data.frame, will be converted to one by fortify(). If not specified, must be supplied in each layer added to the plot. |
mapping |
Default list of aesthetic mappings to use for plot. If not specified, must be supplied in each layer added to the plot. |
... |
Other arguments passed on to methods. Not currently used. |
environment |
DEPRECATED. Used prior to tidy evaluation. |
Details
function l_ggplot()
wraps function ggplot()
with assigning an additional class "l_ggplot"
to the output. The returned object is called an l_ggplot
object.
To draw a ggplot
object, S3 method print.ggplot
will be rendered
so that a static graphic is displayed. While, for an l_ggplot()
object,
S3 method print.l_ggplot
will be rendered
which will return an interactive loon
widget.
Value
It will return an l_ggplot
object with class c("l_ggplot", "gg", "ggplot")
.
Then print a loon
plot automatically.
See Also
ggplot
, ggplot2loon
, print.l_ggplot
Examples
if(interactive()) {
p <- l_ggplot(mpg, aes(displ, cty)) +
geom_point(
size = 4,
mapping = aes(color = factor(cyl))
)
# p is an `l_ggplot` object, `print.l_ggplot(p)` will be called automatically.
# Then, at printing time, an `l_ggplot` object will be transformed to a `loon` widget
p
## Not run:
# Assign a widget from current path
# suppose the path of `p` is '.l0.ggplot'
q <- l_getFromPath('.l0.ggplot')
# q is a `loon` widget
q
## End(Not run)
# An alternative way to return a real loon widget from `p` (a `l_ggplot` object)
# is to call the function `loon.ggplot()`.
q <- loon.ggplot(p)
q
# pipe more components
p +
facet_grid(rows = vars(drv)) +
linking(linkingGroup = "mpg") +
ggtitle("displ versus cty")
# a linked bar plot
l_hist(mpg$class, linkingGroup = "mpg")
# a 3D object
# press the button key `R` to rotate the plot
l_ggplot(mtcars,
mapping = aes(x = wt, y = hp, z = drat)) +
geom_point(size = 4) +
scale_multi()
}