Nothing
context("stat_centroid")
set.seed(123456)
my.df <- data.frame(X = rep(1:5,2),
Y = runif(10),
category = rep(c("A","B"), each = 5))
# make sure rows are ordered for X as we will use functions that rely on this
my.df <- my.df[order(my.df[["X"]]), ]
test_that("stat_centroid, using default shape and size", {
p1 <- ggplot(my.df, aes(x = X, y = Y, colour = category)) +
stat_centroid() +
geom_point()
result <- layer_data(p1)[, c("xmin", "xmax", "ymin", "ymax", "shape", "size")]
expected <- data.frame(
xmin = c(2.292893, 2.292893),
xmax = c(3.707107, 3.707107),
ymin = c(0.4278716, 0.2311237),
ymax = c(0.6303108, 0.5629344),
shape = c(19, 19),
size = c(1.5, 1.5)
)
expect_identical(format(result, digits = 7), format(expected, digits = 7))
})
test_that("stat_centroid, changed default shape and size", {
p1 <- ggplot(my.df, aes(x = X, y = Y, colour = category)) +
stat_centroid(shape = "cross", size = 6) +
geom_point()
result <- layer_data(p1)[, c("xmin", "xmax", "ymin", "ymax", "shape", "size")]
expected <- data.frame(
xmin = c(2.292893, 2.292893),
xmax = c(3.707107, 3.707107),
ymin = c(0.4278716, 0.2311237),
ymax = c(0.6303108, 0.5629344),
shape = c("cross", "cross"),
size = c(6, 6)
)
expect_identical(format(result, digits = 7), format(expected, digits = 7))
})
test_that("stat_centroid, geom 'rug' function median applied", {
p1 <- ggplot(my.df, aes(x = X, y = Y, colour = category)) +
stat_centroid(geom = "rug", linewidth = 1.5, .fun = median) +
geom_point()
result <- layer_data(p1)[, c("x", "y", "linewidth", "linetype")]
expected <- data.frame(
x = c(3,3),
y = c(0.3912557, 0.1983447),
linewidth = c(1.5, 1.5),
linetype = c(1, 1)
)
expect_identical(format(result, digits = 7), format(expected, digits = 7))
})
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.