Nothing
library(animint2)
library(testthat)
library(XML)
wb_data <- data.frame(
year = rep(2000:2005, each = 3),
country = rep(c("USA", "Canada", "Mexico"), times = 6),
life_expectancy = c(78, 80, 76, 79, 81, 77, 80, 82, 78, 81, 83, 79, 82, 84, 80, 83, 85, 81),
fertility_rate = c(1.8, 1.7, 2.1, 1.9, 1.8, 2.2, 1.9, 1.8, 2.3, 2.0, 1.9, 2.4, 2.1, 2.0, 2.5, 2.2, 2.1, 2.6),
population = c(300, 100, 150, 310, 110, 160, 320, 120, 170, 330, 130, 180, 340, 140, 190, 350, 150, 200)
)
wb_viz <- list(
pointPlot = ggplot(wb_data, aes(x = life_expectancy, y = fertility_rate)) +
geom_point(
aes(size = population, color = country),
title = "One country",
help = "Each point represents life expectancy and fertility rate for a given country.",
showSelected = "year",
clickSelects = "country"
) +
labs(title = "Life Expectancy vs. Fertility Rate", x = "Life Expectancy", y = "Fertility Rate"),
vlinePlot = ggplot(wb_data, aes(x = life_expectancy, y = fertility_rate)) +
geom_vline(
xintercept = 80,
linetype = "dashed",
color = "red"
)
)
info <- animint2HTML(wb_viz)
djs.list <- driverjs_get(info$html)
test_that("World Bank no title nor description initially", {
expect_identical(djs.list$title, list())
expect_identical(djs.list$description, list())
})
djs.list.start <- driverjs_start()
test_that("World Bank first element of Start Tour", {
expect_identical(djs.list.start$title, list(
text="One country",
.attrs=c(
class="driver-popover-title",
style="display: block;")))
expect_identical(djs.list.start$description, list(
text = "Each point represents life expectancy and fertility rate for a given country.",
br = NULL,
text = "Data are shown for the current selection of: year,country",
br = NULL,
text = "Click to select: country",
.attrs = c(
class = "driver-popover-description",
style = "display: block;")))
})
djs.list.next <- driverjs_next()
test_that("World Bank tour after clicking Next", {
expect_identical(djs.list.next$title, list(
text = "geom2_vline_vlinePlot",
.attrs = c(
class = "driver-popover-title",
style = "display: block;")))
expect_identical(djs.list.next$description, list(
text = "No interactions available",
.attrs = c(
class = "driver-popover-description",
style = "display: block;")))
})
viz <- animint(
pointRect=ggplot()+
geom_line(aes(
x = year,
y = fertility_rate,
group=country,
color = country),
data=wb_data,
)+
make_tallrect(wb_data, "year"),
duration=list(year=2000)
)
info <- animint2HTML(viz)
djs.list <- driverjs_get(info$html)
test_that("driver tallrect no title nor description initially", {
expect_identical(djs.list$title, list())
expect_identical(djs.list$description, list())
})
djs.list.start <- driverjs_start()
test_that("driver tallrect Start Tour", {
expect_identical(djs.list.start$title, list(
text="geom1_line_pointRect",
.attrs=c(
class="driver-popover-title",
style="display: block;")))
expect_identical(djs.list.start$description, list(
text = "Data are shown for the current selection of: country",
.attrs = c(
class = "driver-popover-description",
style = "display: block;")))
})
djs.list.next <- driverjs_next()
test_that("driver tallrect after clicking Next", {
expect_identical(djs.list.next$title, list(
text = "geom2_tallrect_pointRect",
.attrs = c(
class = "driver-popover-title",
style = "display: block;")))
expect_identical(djs.list.next$description, list(
text = "Data are shown for the current selection of: year",
br=NULL,
text = "Click to select: year",
.attrs = c(
class = "driver-popover-description",
style = "display: block;")))
})
sel_df <- data.frame(
selectorName=sprintf("model_%d_size", 1:10),
selectorValue=1:100)
sel_viz <- animint(
points=ggplot()+
geom_point(aes(
selectorValue, selectorName),
data=sel_df,
size=5,
clickSelects=c(selectorName="selectorValue"))
)
info <- animint2HTML(sel_viz)
djs.list <- driverjs_get(info$html)
test_that("driver sel no title nor description initially", {
expect_identical(djs.list$title, list())
expect_identical(djs.list$description, list())
})
djs.list.start <- driverjs_start()
test_that("driver sel Start Tour", {
expect_identical(djs.list.start$title, list(
text="geom1_point_points",
.attrs=c(
class="driver-popover-title",
style="display: block;")))
expect_identical(djs.list.start$description, list(
text = "Click to select: one of: [model_1_size, model_2_size, ..., model_9_size, model_10_size]",
.attrs = c(
class = "driver-popover-description",
style = "display: block;")))
})
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.