context("test (loon to ggplot)")
library(dplyr)
library(magrittr)
library(ggmulti)
pdf(NULL)
test_that("test l_plot (loon to ggplot)", {
set.seed(500)
x <- rnorm(30)
y <- 4 + 3*x + rnorm(30)
fit <- lm(y~x)
xseq <- seq(min(x)-1, max(x)+1, length.out = 50)
fit_line <- predict(fit, data.frame(x=range(xseq)))
ci <- predict(fit, data.frame(x=xseq),
interval="confidence", level=0.95)
pi <- predict(fit, data.frame(x=xseq),
interval="prediction", level=0.95)
p <- l_plot(y~x, color='black', showScales=TRUE, showGuides=TRUE)
gLayer <- l_layer_group(
p, label="simple linear regression",
parent="root", index="end"
)
fitLayer <- l_layer_line(
p, x=range(xseq), y=fit_line, color="#04327F",
linewidth=4, label="fit", parent=gLayer
)
ciLayer <- l_layer_polygon(
p,
x = c(xseq, rev(xseq)),
y = c(ci[,'lwr'], rev(ci[,'upr'])),
color = "#96BDFF", linecolor="",
label = "95 % confidence interval",
parent = gLayer, index='end'
)
piLayer <- l_layer_polygon(
p,
x = c(xseq, rev(xseq)),
y = c(pi[,'lwr'], rev(pi[,'upr'])),
color = "#E2EDFF", linecolor="",
label = "95 % prediction interval",
parent = gLayer, index='end'
)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
})
test_that("test l_hist (loon to ggplot)", {
p <- l_hist(iris$Sepal.Length, color = iris$Species, swapAxes = TRUE)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
})
test_that("test l_navgraph (loon to ggplot)", {
ng <- l_navgraph(oliveAcids, color=olive$Area)
g <- loon2ggplot(ng$graph)
g
expect_equal(class(g), c("gg", "ggplot"))
})
test_that("test l_serialaxes (loon to ggplot)", {
s <- l_serialaxes(iris)
g <- loon2ggplot(s)
g
expect_equal(class(g), c("gg", "ggplot"))
s['axesLayout'] <- "parallel"
g <- loon2ggplot(s)
g
expect_equal(class(g), c("gg", "ggplot"))
})
test_that("test loon basic layers (loon to ggplot)", {
p <- l_plot()
l <- l_layer_line(p, x=c(1,2,3,4), y=c(1,3,2,4), color='red', linewidth=2)
l_scaleto_world(p)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
p <- l_plot()
l <- l_layer_rectangle(p, x=c(2,3), y=c(1,10), color='steelblue')
l_scaleto_layer(l)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
p <- l_plot()
l <- l_layer_oval(p, c(1,5), c(2,12), color='steelblue')
l_configure(p, panX=0, panY=0, deltaX=20, deltaY=20)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
p <- l_plot()
l <- l_layer_points(p, x = 1:10, y = 1:10, size = seq(4, 30, length.out = 10))
l_scaleto_world(p)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
p <- l_plot()
l <- l_layer_points(p, x = 1:10, y = 1:10, size = seq(4, 30, length.out = 10))
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
p <- l_plot()
l <- l_layer_polygons(
p,
x = list(c(1,2,1.5), c(3,4,6,5,2), c(1,3,5,3)),
y = list(c(1,1,2), c(1,1.5,1,4,2), c(3,5,6,4)),
color = c('red', 'green', 'blue'),
linecolor = ""
)
l_scaleto_world(p)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
p <- l_plot()
l <- l_layer_rectangles(
p,
x = list(c(0,1), c(1,2), c(2,3), c(5,6)),
y = list(c(0,1), c(1,2), c(0,1), c(3,4)),
color = c('red', 'blue', 'green', 'orange'),
linecolor = "black"
)
l_scaleto_world(p)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
s <- Filter(function(df)nrow(df) > 1, split(UsAndThem, UsAndThem$Country))
sUaT <- Map(function(country){country[order(country$Year),]} , s)
xcoords <- Map(function(x)x$Year, sUaT)
ycoords <- Map(function(x)x$LifeExpectancy, sUaT)
region <- sapply(sUaT, function(x)as.character(x$Geographic.Region[1]))
p <- l_plot(showItemLabels=TRUE)
l <- l_layer_lines(p, xcoords, ycoords, itemLabel=names(sUaT), color=region)
l_scaleto_layer(l)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
p <- l_plot()
l <- l_layer_texts(p, x=1:10, y=10:1, text=LETTERS[1:10],
size= as.integer(seq(5, 30, length.out = 10)))
l_scaleto_world(p)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("gg", "ggplot"))
})
test_that("test compound loon widgets to ggplot", {
co2_stl <- stl(co2, "per")
p <- l_plot(co2_stl, title = "Atmospheric carbon dioxide over Mauna Loa")
g <- loon2ggplot(p)
g
expect_equal(class(g), c("patchwork", "gg", "ggplot"))
g <- loon.ggplot(p)
expect_equal(class(g), c("patchwork", "gg", "ggplot"))
p <- l_pairs(iris[, 1:4], showHistograms = TRUE)
g <- loon2ggplot(p)
g
expect_equal(class(g), c("patchwork", "gg", "ggplot"))
})
test_that("test loon non-primitive glyph to ggplot", {
p <- l_plot(1:3, 1:3)
gl <- l_glyph_add_polygon(p, x = list(x_star, x_cross, x_hexagon),
y = list(y_star, y_cross, y_hexagon))
p['glyph'] <- gl
gl['showArea'] <- c(F, T, F)
p['color'] <- c('red', 'blue', 'green')
expect_warning(g <- loon.ggplot(p))
p <- with(olive, l_plot(oleic, stearic, color=Area))
gs <- l_glyph_add_serialaxes(p, data=olive[,-c(1,2)], showArea=FALSE)
p['glyph'] <- gs
g <- loon.ggplot(p)
gb <- ggplot2::ggplot_build(g)
expect_equal(is.na(gb$data[[1]]$fill), rep(TRUE, 572))
gs['showArea'] <- TRUE
g <- loon.ggplot(p)
gb <- ggplot2::ggplot_build(g)
expect_equal(is.na(gb$data[[1]]$fill), rep(FALSE, 572))
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.