test_that("Discrete scale", {
d <- data.frame(x = 1:5, y = 1:5, z = 21:25, l = letters[1:5])
p <- ggplot2::ggplot(d) +
ggplot2::geom_col(aes(x, y, fill = l))
init <- ggplot2::layer_data(p)$fill
p2 <- p + scale_fill_wiki_d()
mod <- ggplot2::layer_data(p2)$fill
expect_true(!any(init %in% mod))
# Alpha
expect_snapshot(p + scale_fill_wiki_d(alpha = -1),
error = TRUE
)
p3 <- p + scale_fill_wiki_d(alpha = 0.9)
mod_alpha <- ggplot2::layer_data(p3)$fill
expect_true(all(adjustcolor(mod, alpha.f = 0.9) == mod_alpha))
# Reverse also with alpha
expect_snapshot(p + scale_fill_wiki_d(direction = 0.5),
error = TRUE
)
p4 <- p + scale_fill_wiki_d(
direction = -1,
alpha = 0.7
)
mod_alpha_rev <- ggplot2::layer_data(p4)$fill
expect_true(
all(
rev(alpha(mod, alpha = 0.7)) == mod_alpha_rev
)
)
})
test_that("Continous scale", {
d <- data.frame(x = 1:5, y = 1:5, z = 21:25, l = letters[1:5])
p <- ggplot2::ggplot(d) +
ggplot2::geom_col(aes(x, y, fill = z))
init <- ggplot2::layer_data(p)$fill
p2 <- p + scale_fill_wiki_c()
mod <- ggplot2::layer_data(p2)$fill
expect_true(!any(init %in% mod))
# Alpha
expect_snapshot(p + scale_fill_wiki_c(alpha = -1),
error = TRUE
)
p3 <- p + scale_fill_wiki_c(alpha = 0.9)
mod_alpha <- ggplot2::layer_data(p3)$fill
expect_true(all(adjustcolor(mod, alpha.f = 0.9) == mod_alpha))
# Reverse also with alpha
expect_snapshot(p + scale_fill_wiki_c(direction = 0.5),
error = TRUE
)
p4 <- p + scale_fill_wiki_c(
direction = -1,
alpha = 0.7
)
mod_alpha_rev <- ggplot2::layer_data(p4)$fill
expect_true(all(rev(alpha(
mod,
0.7
)) == mod_alpha_rev))
})
test_that("Breaking scale", {
d <- data.frame(
x = 1:10, y = 1:10,
z = 31:40
)
# Three cuts
br <- c(32, 37)
p_init <- ggplot2::ggplot(d) +
ggplot2::geom_col(aes(x, y, fill = z))
p <- p_init +
ggplot2::scale_fill_viridis_b(breaks = br)
init <- ggplot2::layer_data(p)$fill
expect_true(length(unique(init)) == 3)
p2 <- p_init +
scale_fill_wiki_b(breaks = br)
mod <- ggplot2::layer_data(p2)$fill
expect_true(!any(init %in% mod))
expect_true(length(unique(mod)) == 3)
# Alpha
expect_snapshot(p_init + scale_fill_wiki_b(alpha = -1),
error = TRUE
)
p3 <- p_init + scale_fill_wiki_b(
alpha = 0.9,
breaks = br
)
mod_alpha <- ggplot2::layer_data(p3)$fill
expect_true(all(alpha(mod, 0.9) == mod_alpha))
expect_true(length(unique(mod_alpha)) == 3)
# Reverse also with alpha
expect_snapshot(p + scale_fill_wiki_b(direction = 0.5),
error = TRUE
)
p4 <- p_init + scale_fill_wiki_b(
direction = -1,
alpha = 0.7,
breaks = br
)
mod_alpha_rev <- ggplot2::layer_data(p4)$fill
expect_true(length(unique(mod_alpha_rev)) == 3)
})
test_that("Palette", {
a <- wiki.colors(10)
expect_length(a, 10)
# NULL
expect_identical(wiki.colors(0), character())
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.