Nothing
expect_traces <- function(gg, n.traces, name){
stopifnot(is.numeric(n.traces))
L <- expect_doppelganger_built(gg, paste0("smooth-", name))
all.traces <- L$data
no.data <- sapply(all.traces, function(tr) {
is.null(tr[["x"]]) && is.null(tr[["y"]])
})
has.data <- all.traces[!no.data]
expect_equivalent(length(has.data), n.traces)
list(traces=has.data, layout=L$layout)
}
test_that("geom_point size & alpha translate to a single trace", {
gg <- ggplot(mtcars, aes(cyl, wt)) +
geom_point(aes(size = gear, alpha = cyl))
info <- expect_doppelganger_built(gg, "point-size-alpha")
expect_equivalent(length(info$data), 1)
mkr <- info$data[[1]]$marker
expect_equivalent(length(mkr$size), nrow(mtcars))
expect_equivalent(length(mkr$opacity), nrow(mtcars))
})
test_that("marker color is non-transparent for open shapes", {
p <- ggplot(mtcars, aes(mpg, wt)) + geom_point(pch = 2)
info <- expect_doppelganger_built(p, "open-shapes")
expect_true(
grepl("open$", info$data[[1]]$marker$symbol)
)
expect_true(
info$data[[1]]$marker$color == toRGB(GeomPoint$default_aes$colour)
)
})
test_that("marker color inherits from fill, when appropriate", {
df_shapes <- data.frame(shape = factor(0:24))
p <- ggplot(df_shapes, aes(shape = shape)) +
geom_point(aes(shape = shape, x = 0, y = 0), size = 5, fill = "red") +
facet_wrap(~shape) +
scale_shape_manual(values = df_shapes$shape, guide = "none")
l <- expect_doppelganger_built(p, "all-shapes")
expect_equivalent(length(l$data), 25)
markerColors <- sapply(l$data, function(x) x$marker$color)
lineColors <- sapply(l$data, function(x) x$marker$line$color)
expect_true(all(markerColors[1:20] == lineColors[1:20]))
expect_true(all(markerColors[21:25] != lineColors[21:25]))
})
test_that("when marker color inherits from fill, colours are assigned correctly #2298", {
df <- data.frame(x = c(1,2), y = c(0,0), color = rep("yellow", 2), fill = 1:2)
p <- ggplot(df) +
geom_point(aes(x = x, y = y, fill = fill, color = color), size = 5, shape = 21) +
scale_fill_gradient(low = "green", high = "red")
pb <- plotly_build(p)
expect_equivalent(pb$x$data[[1]]$marker$color, c("rgba(0,255,0,1)", "rgba(255,0,0,1)"))
})
test_that("can plot on sub-second time scale", {
d <- data.frame(
x = as.POSIXct("2018-09-28 15:13:06 CDT") + 1e-3 * c(1:9, 5000),
y = rnorm(10)
)
g <- ggplot(d, aes(x, y)) + geom_point()
info <- expect_doppelganger_built(g, "point-size-alpha2")
expect_equivalent(info$data[[1]]$x, as.numeric(d$x))
})
test_that("can flip axes", {
# https://github.com/ropensci/plotly/issues/1074
p <- ggplot(diamonds[sample(nrow(diamonds), 1000),]) +
geom_point(aes(carat, price)) +
expand_limits(y = 0) +
coord_flip()
info <- expect_doppelganger_built(p, "point-flip")
expect_equivalent(info$layout$xaxis$title$text, "price")
expect_equivalent(info$layout$yaxis$title$text, "carat")
})
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.