Learn R Programming

loon.ggplot (version 1.3.4)

l_ggplot: Automatically create a loon widget

Description

Create a loon widget with ggplot syntax

Usage

l_ggplot(data = NULL, mapping = aes(), ..., environment = parent.frame())

Value

It will return an l_ggplot object with class c("l_ggplot", "gg", "ggplot"). Then print a loon plot automatically.

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.

See Also

ggplot, ggplot2loon, print.l_ggplot

loon.ggplot

Examples

Run this code
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

if (FALSE) {
# 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
}

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

Run the code above in your browser using DataLab