testthat::skip_if(getRversion() <= package_version("4.1.0"))
testthat::skip_on_os(c("mac", "linux"))
## ----setup------------------------------------------------------------------------------------------
library(ggplot2)
library(dplyr)
library(stringr)
library(tidyr)
library(palmerpenguins)
library(patchwork)
set_blanket()
## ---------------------------------------------------------------------------------------------------
test_name <- "1"
test_that(test_name, {
p1 <- diamonds |>
count(color) |>
gg_col(
x = n,
y = color,
width = 0.75,
x_labels = \(x) x / 1000,
x_label = "Count (thousands)",
subtitle = "\nDefault order"
)
p2 <- diamonds |>
count(color) |>
mutate(across(color, \(x) x |>
forcats::fct_reorder(n) |>
forcats::fct_rev())) |>
gg_col(
x = n,
y = color,
width = 0.75,
x_labels = \(x) x / 1000,
x_label = "Count (thousands)",
subtitle = "\nRe-orderered"
)
p <- p1 + p2
vdiffr::expect_doppelganger(test_name, p)
})
## ---------------------------------------------------------------------------------------------------
test_name <- "2"
test_that(test_name, {
p1 <- diamonds |>
count(color) |>
filter(color %in% c("E", "G", "I")) |>
gg_col(
x = n,
y = color,
width = 0.75,
x_labels = \(x) x / 1000,
x_label = "Count (thousands)",
subtitle = "\nUnused levels kept",
)
p2 <- diamonds |>
count(color) |>
filter(color %in% c("E", "G", "I")) |>
mutate(color = forcats::fct_drop(color)) |>
gg_col(
x = n,
y = color,
width = 0.75,
x_labels = \(x) x / 1000,
x_label = "Count (thousands)",
subtitle = "\nUnused levels dropped",
)
p <- p1 + p2
vdiffr::expect_doppelganger(test_name, p)
})
## ----fig.asp=0.4------------------------------------------------------------------------------------
test_name <- "3"
test_that(test_name, {
p <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE) |>
gg_sf(col = AREA)
vdiffr::expect_doppelganger(test_name, p)
})
## ---------------------------------------------------------------------------------------------------
test_name <- "4"
test_that(test_name, {
p <- penguins |>
gg_pointrange(
stat = "summary",
x = species,
y = flipper_length_mm,
size = 0.1,
)
vdiffr::expect_doppelganger(test_name, p)
})
## ---------------------------------------------------------------------------------------------------
test_name <- "5"
test_that(test_name, {
p <- penguins |>
mutate(across(sex, \(x) str_to_sentence(x))) |>
gg_boxplot(
x = species,
y = flipper_length_mm,
col = sex,
colour = "black", #or fill = #D3D3D3",
position = position_dodge2(preserve = "single"),
alpha = 0.9,
)
vdiffr::expect_doppelganger(test_name, p)
})
## ---------------------------------------------------------------------------------------------------
test_name <- "6"
test_that(test_name, {
p <- penguins |>
gg_boxplot(
x = species,
y = flipper_length_mm,
colour = "black", #or fill = #D3D3D3",
width = 0.5,
alpha = 0.9,
)
vdiffr::expect_doppelganger(test_name, p)
})
## ---------------------------------------------------------------------------------------------------
test_name <- "7"
test_that(test_name, {
p <- penguins |>
count(species, sex) |>
gg_col(
x = sex,
y = n,
col = species,
position = position_dodge2(preserve = "single"),
width = 0.75,
x_labels = \(x) str_to_sentence(x),
)
vdiffr::expect_doppelganger(test_name, p)
})
## ---------------------------------------------------------------------------------------------------
test_name <- "8"
test_that(test_name, {
p <- penguins |>
count(species, sex) |>
gg_col(
x = n,
y = sex,
col = species,
position = position_dodge2(preserve = "single"),
width = 0.75,
y_labels = \(x) str_to_sentence(x),
)
vdiffr::expect_doppelganger(test_name, p)
})
## ---------------------------------------------------------------------------------------------------
test_name <- "9"
test_that(test_name, {
p <- penguins |>
mutate(across(sex, \(x) str_to_sentence(x))) |>
gg_histogram(
x = flipper_length_mm,
facet = species,
facet2 = sex,
)
vdiffr::expect_doppelganger(test_name, p)
})
## ---------------------------------------------------------------------------------------------------
test_name <- "10"
test_that(test_name, {
p <- data.frame(
age = c(0:9, 0:9),
sex = c(rep("Male", 10), rep("Female", 10)),
population = c(200, 250, 300, 350, 440, 450, 500, 550, 600, 650,
190, 240, 290, 330, 420, 430, 480, 530, 580, 630)) |>
mutate(population = ifelse(sex == "Female", -population, population)) %>%
gg_col(
y = age,
x = population,
col = sex,
width = 1,
orientation = "y",
x_labels = \(x) abs(x),
y_symmetric = TRUE,
) +
geom_vline(
xintercept = 0,
colour = "#121b24",
linewidth = 10 / 33
)
vdiffr::expect_doppelganger(test_name, p)
})
## ---------------------------------------------------------------------------------------------------
test_name <- "11"
test_that(test_name, {
p <- data.frame(
age = c(0:9, 0:9),
sex = c(rep("Male", 10), rep("Female", 10)),
population = c(200, 250, 300, 350, 440, 450, 500, 550, 600, 650,
190, 240, 290, 330, 420, 430, 480, 530, 580, 630)) |>
mutate(population = ifelse(sex == "Female", -population, population)) %>%
gg_col(
y = age,
x = population,
col = sex,
width = 1,
orientation = "y",
x_labels = \(x) abs(x),
y_symmetric = TRUE,
) +
geom_vline(
xintercept = 0,
colour = "#121b24",
linewidth = 10 / 33
) +
light_mode_r()
# ggeasy::easy_remove_y_gridlines() +
# ggeasy::easy_remove_y_axis()
vdiffr::expect_doppelganger(test_name, p)
})
## ----fig.asp=0.55-----------------------------------------------------------------------------------
test_name <- "12"
test_that(test_name, {
p <- penguins |>
gg_histogram(
x = flipper_length_mm,
mapping = aes(y = after_stat(density)),
facet = species,
)
vdiffr::expect_doppelganger(test_name, p)
})
## ----fig.asp=0.55-----------------------------------------------------------------------------------
test_name <- "13"
test_that(test_name, {
p <- faithfuld |>
gg_contour(
x = waiting,
y = eruptions,
z = density,
mapping = aes(colour = after_stat(level)),
bins = 8,
)
vdiffr::expect_doppelganger(test_name, p)
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.