Nothing
test_that("guide_colring looks as it should", {
# vdiffr's device doesn't support clipping paths yet, so we just ignore
# warnings for now
expect_doppelganger <- function(...) {
suppressWarnings(vdiffr::expect_doppelganger(...))
}
p <- ggplot(mtcars, aes(disp, mpg, colour = drat)) +
geom_point() +
theme(
legend.frame = element_rect(colour = "tomato"),
legend.background = element_rect(colour = "limegreen")
)
outline <- compose_stack("axis_base", primitive_line(theme = theme(
legend.axis.line = element_line(colour = "dodgerblue")
)), theme = theme(legendry.guide.spacing = unit(0, "cm")))
standard_ring <- guides(colour = guide_colring(
nbin = 15, outer_guide = outline, inner_guide = outline
))
pring <- p + standard_ring
expect_doppelganger(
"standard ring", pring
)
pring <- p + guides(colour = guide_colring(
nbin = 15, outer_guide = outline, inner_guide = outline, show_labels = "inner"
))
expect_doppelganger(
"inner labels", pring
)
pring <- p + standard_ring + theme(
legend.key.size = unit(2, "lines"),
legend.key.width = unit(5, "mm")
)
expect_doppelganger(
"resized ring", pring
)
pring <- p + standard_ring + theme(legend.key.width = rel(2.5))
expect_doppelganger(
"conical", pring
)
pring <- p + guides(colour = guide_colring(
nbin = 15, outer_guide = outline, inner_guide = outline,
start = 0.25 * pi, end = 1.75 * pi
))
expect_doppelganger(
"open ring", pring
)
})
test_that("ring_margin calculates margins correctly", {
# Full ring should have outer margins everywhere
test <- ring_margin(c(0, 2) * pi, outer = 2, inner = 1)
expect_equal(as.numeric(test), c(2, 2, 2, 2))
test <- ring_margin(c(0, 1) * pi, outer = 2, inner = 1)
expect_equal(as.numeric(test), c(2, 2, 2, 0))
test <- ring_margin(c(0.5, 1.5) * pi, outer = 2, inner = 1)
expect_equal(as.numeric(test), c(0, 2, 2, 2))
test <- ring_margin(c(1, 2) * pi, outer = 2, inner = 1)
expect_equal(as.numeric(test), c(2, 0, 2, 2))
test <- ring_margin(c(1.5, 0.5) * pi, outer = 2, inner = 1)
expect_equal(as.numeric(test), c(2, 2, 0, 2))
s2 <- sqrt(2)
test <- ring_margin(c(0.25, 0.75) * pi, outer = 2, inner = 1)
expect_equal(as.numeric(test), c(s2, 2, s2, s2 / 2))
test <- ring_margin(c(0.75, 1.25) * pi, outer = 2, inner = 1)
expect_equal(as.numeric(test), c(s2 / 2, s2, 2, s2))
test <- ring_margin(c(1.25, 1.75) * pi, outer = 2, inner = 1)
expect_equal(as.numeric(test), c(s2, s2 / 2, s2, 2))
test <- ring_margin(c(1.75, 0.25) * pi, outer = 2, inner = 1)
expect_equal(as.numeric(test), c(2, s2, s2 / 2, s2))
})
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.