Nothing
test_that("element_text_repel positions are interpreted correctly", {
# Unit calculations require an active device
tmp <- tempfile(fileext = ".pdf")
pdf(tmp)
withr::defer({
dev.off()
unlink(tmp)
})
columns <- c("x", "y", "nudge_x", "nudge_y")
examplar <- calc_element("text", theme_get())
element <- element_text_repel(margin = margin(1, 1, 1, 1, "cm"))
el <- merge_element(element, examplar)
grob <- element_grob(el, label = "foo")
expect_s3_class(grob, "titleGrob")
grob <- element_grob(el, label = "foo", x = 0.25)
expect_s3_class(grob, "element_textrepeltree")
data <- unlist(grob$data[columns], use.names = FALSE)
expect_equal(data, c(0.25, 1, 0, 0))
grob <- element_grob(el, label = "foo", y = 0.25)
data <- unlist(grob$data[columns], use.names = FALSE)
expect_equal(data, c(1, 0.25, 0, 0))
# Create new element with position = "right" (can't modify S7 repel property)
el_right <- element_text_repel(margin = margin(1, 1, 1, 1, "cm"), position = "right")
el_right <- merge_element(el_right, examplar)
grob <- element_grob(el_right, label = "foo", y = 0.25)
data <- unlist(grob$data[columns], use.names = FALSE)
expect_equal(data, c(0, 0.25, 0, 0))
# Create new element with position = "top"
el_top <- element_text_repel(margin = margin(1, 1, 1, 1, "cm"), position = "top")
el_top <- merge_element(el_top, examplar)
grob <- element_grob(el_top, label = "foo", x = 0.25)
data <- unlist(grob$data[columns], use.names = FALSE)
expect_equal(data, c(0.25, 0, 0, 0))
})
test_that("element_text_repel renders as expected", {
x <- c(0, 4.9, 5, 5.1, 10)
labels <- c("Lorem ipsum", "dolor amet", "consectetur", "adipiscing", "elit")
p <- ggplot(mapping = aes(x, x, colour = x, shape = labels)) +
geom_point() +
scale_x_continuous(breaks = x, labels = labels) +
scale_y_continuous(breaks = x, labels = labels) +
scale_colour_viridis_c(breaks = x, labels = labels) +
guides(x.sec = "axis", y.sec = "axis") +
theme(
axis.text.x.bottom = element_text_repel(
margin = margin(t = 10),
colour = "dodgerblue",
seed = 42
),
axis.text.y.left = element_text_repel(
margin = margin(r = 10),
segment.colour = "dodgerblue",
seed = 42
),
axis.text.x.top = element_text_repel(
margin = margin(b = 10), position = "top",
arrow = arrow(length = unit(2, "mm")),
seed = 42
),
axis.text.y.right = element_text_repel(
margin = margin(l = 10), position = "right",
segment.curvature = 0.1, segment.inflect = TRUE,
seed = 42
),
legend.text = element_text_repel(
margin = margin(l = 10), position = "right",
segment.linetype = "dotted", colour = "dodgerblue",
seed = 42
)
)
vdiffr::expect_doppelganger("element_text_repel", p)
})
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.