loon2ggplot.l_compound {loon.ggplot} | R Documentation |
Turn a loon
widget to a ggplot
object
Description
Create a ggplot
object from a loon
widget
Usage
## S3 method for class 'l_compound'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_facet_ggplot'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_facet_grid'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_facet_wrap'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_layer_graph'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_layer_histogram'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_layer_scatterplot'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_pairs'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_patchwork'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_serialaxes'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'zenLoon'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## Default S3 method:
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_plot'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_hist'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
## S3 method for class 'l_plot3D'
loon2ggplot(
target,
asAes = TRUE,
selectedOnTop = TRUE,
showNearestColor = FALSE,
...
)
Arguments
target |
a |
asAes |
logical; set aesthetics attributes, i.e. 'color', 'fill' as
variables (default |
selectedOnTop |
logical and default is |
showNearestColor |
logical and default is |
... |
arguments used inside |
Details
In ggplot2
, typically, there are two ways to set the
aesthetic attributes, either take them as variables asAes = TRUE
(set in the function aes()
) or constants asAes = FALSE
.
The main benefits to consider them as variables are that 1. legend could be displayed;
2. convenient for further analysis.
In loon
, when points were selected
(highlighted),
the order would be changed so that
the highlighted points would be displayed at the front.
To turn the loon
plot static, if selectedOnTop = TRUE
,
the points would be partitioned into two
groups – one group representing the un-highlighted points,
and the other group representing the highlighted points.
The un-highlighted group would be drawn first,
then the selected group;
if selectedOnTop = FALSE
, no partition would be applied so that
the displayed order remained. However, the highlighted points could be
displayed at the back. See examples.
Value
a ggplot
object (or a patchwork
object, a extension of ggplot2
)
Examples
if(interactive()) {
######## Basic ########
lp <- l_plot(iris,
color = iris$Species,
glyph = "circle")
gp <- loon2ggplot(lp)
gp # a ggplot object
# Add a smooth layer
# Reset initial plot object
gp$data <- gp$layers[[1]]$data
gp$mapping <- gp$layers[[1]]$mapping
gp +
geom_smooth() +
# give meaningful legend label names
scale_color_manual(
# make sure the order is correct
values = unique(hex12tohex6(lp['color'])),
labels = c("setosa", "versicolor", "virginica")
)
# histogram
lh <- l_hist(mtcars$mpg,
color = factor(mtcars$gear))
gh0 <- loon2ggplot(lh)
# facet by `fill`
gh0 + facet_wrap(~fill)
######## Argument `asAes` ########
gh1 <- loon2ggplot(lh, asAes = FALSE)
gh1
## Not run:
# The bins are constructed by `ggplot2::geom_rect()`
# Very limited manipulations can be made
# ERROR will be returned
gh1 + facet_wrap(~fill)
## End(Not run)
######## Argument `selectedOnTop` ########
p <- l_plot(iris, color = iris$Species)
p['selected'][iris$Petal.Length > 5] <- TRUE
g <- loon.ggplot(p)
g
# facet by "Species"
g + facet_wrap(iris$Species)
# Something is wrong here. There is a pink point (at least one)
# in species "versicolor"! It is because after points are
# highlighted, the displayed order has been changed.
# Set `selectedOnTop` as FALSE, as in
loon.ggplot(p, selectedOnTop = FALSE) +
facet_wrap(iris$Species)
######## l_patchwork --> ggplot ########
library(patchwork)
p1 <- ggplot(mtcars) + geom_point(aes(mpg, disp))
p2 <- ggplot(mtcars) +
geom_boxplot(aes(gear, disp, group = gear))
p3 <- ggplot(mtcars) + geom_smooth(aes(disp, qsec))
design <- c(
area(1,1),
area(1,2),
area(2,1,2,2)
)
pp <- p1 + p2 + p3 + plot_layout(design = design)
# turn a patchwork obj to a loon (l_compound)
lp <- ggplot2loon(pp)
# turn a loon (l_compound) back to a patchwork
plp <- loon2ggplot(lp)
plp # almost identical to pp
######## zneplots --> ggplot ########
library(zenplots)
stopifnot(packageVersion("zenplots") > "1.0.4")
zen <- zenplots::zenplot(iris, plot1d = "density", pkg = "loon")
ggzen <- loon.ggplot(zen)
ggzen +
patchwork::plot_annotation(title = "This is a Patchwork!")
}