context("test stat")
library(tidyverse)
library(ggmulti)
library(ggplot2movies)
pdf(NULL)
test_that("test stat", {
### histogram
data <- iris %>%
tidyr::pivot_longer(cols = -Species,
names_to = "Outer sterile whorls",
values_to = "x")
p <- ggplot(data,
mapping = aes(x = `Outer sterile whorls`,
y = x,
fill = Species))
q <- p + stat_hist_(prop = 0.5)
b <- ggplot_build(q)
expect_equal(b$plot$layers[[1]]$geom_params$prop, 0.5)
q <- p + stat_bin_(scale.x = c(0, 1))
b <- ggplot_build(q)
expect_true(max(b$data[[1]]$y) < 1 + 1e-6)
q <- ggplot(data,
mapping = aes(x = `Outer sterile whorls`,
y = Species)) +
stat_count_()
b <- ggplot_build(q)
expect_true("ggplot_built" %in% class(b))
### density
p <- ggplot(data,
mapping = aes(x = `Outer sterile whorls`,
y = x,
fill = Species))
q <- p + stat_density_(colour = NA, scale.y = "group")
b <- ggplot_build(q)
expect_equal(b$plot$layers[[1]]$geom_params$scale.y, "group")
### test error
q <- p + stat_density_(colour = NA, scale.x = c('foo'))
expect_error(ggplot_build(q))
### serialaxes
p <- ggplot(iris,
mapping = aes(Sepal.Length = Sepal.Length,
Sepal.Width = Sepal.Width,
Petal.Length = Petal.Length,
Petal.Width = Petal.Width,
colour = Species))
q <- p + stat_serialaxes()
b <- ggplot_build(q)
expect_equal(unique(b$data[[1]]$x), c(1,2,3,4))
### fourier
q <- p + stat_dotProduct(transform = legendre)
b <- ggplot_build(q)
expect_equal(max(b$data[[1]]$x), 1)
expect_equal(min(b$data[[1]]$x), -1)
### serialaxes_density
q <- p + stat_serialaxes_density()
b <- ggplot_build(q)
expect_true("PositionStack_" %in% class(b$plot$layers[[1]]$position))
### serialaxes_hist
q <- p + stat_serialaxes_hist(position = "dodge_")
b <- ggplot_build(q)
expect_equal(max(b$data[[1]]$y), 1)
expect_equal(min(b$data[[1]]$y), 0)
### serialaxes_quantile
q <- p + stat_serialaxes_quantile(quantiles = c(0.25, 0.5, 0.75),
colour = c("red", "green", "blue"))
b <- ggplot_build(q)
expect_equal(length(unique(b$data[[1]]$group)), 3)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.