context("Geoms")
library("ggplot2")
test_that("geom_linerangeh() flips", {
v <- range_p_orig + geom_linerange(aes(ymin = lower, ymax = upper))
h <- range_p + geom_linerangeh(aes(xmin = lower, xmax = upper))
check_horizontal(v, h, "geom_linerangeh()")
})
test_that("geom_pointangeh() flips", {
v <- range_p_orig + geom_pointrange(aes(ymin = lower, ymax = upper))
h <- range_p + geom_pointrangeh(aes(xmin = lower, xmax = upper))
check_horizontal(v, h, "geom_pointrangeh()")
v_facet <- ggplot(range_df, aes(trt, resp)) + facet_wrap(~group) +
geom_pointrange(aes(ymin = lower, ymax = upper))
h_facet <- ggplot(range_df, aes(resp, trt)) + facet_wrap(~group) +
geom_pointrangeh(aes(xmin = lower, xmax = upper))
check_horizontal(v_facet, h_facet, "geom_pointrangeh() + facet_wrap()")
v_dodge <- range_p_orig + geom_pointrange(aes(ymin = lower, ymax = upper),
position = position_dodge(0.3))
h_dodge <- range_p + geom_pointrangeh(aes(xmin = lower, xmax = upper),
position = position_dodgev(0.3))
check_horizontal(v_dodge, h_dodge, "geom_pointrangeh() + position_dodgev()")
})
test_that("geom_crossbarh() flips", {
v <- range_p_orig + geom_crossbar(aes(ymin = lower, ymax = upper))
h <- range_p + geom_crossbarh(aes(xmin = lower, xmax = upper))
check_horizontal(v, h, "geom_crossbarh()")
})
test_that("geom_errorbarh() flips", {
v <- range_p_orig + geom_errorbar(aes(ymin = lower, ymax = upper))
h <- range_p + geom_errorbarh(aes(xmin = lower, xmax = upper))
check_horizontal(v, h, "geom_errorbarh()")
})
test_that("geom_barh() flips", {
v <- range_p_orig + geom_bar(aes(fill = group),
stat = "identity", position = "dodge")
h <- range_p + geom_barh(aes(fill = group),
stat = "identity", position = "dodgev")
check_horizontal(v, h, "geom_barh()")
v_facet <- ggplot(range_df, aes(trt, resp)) + facet_wrap(~group) +
geom_bar(position = "dodge", stat = "identity")
h_facet <- ggplot(range_df, aes(resp, trt)) + facet_wrap(~group) +
geom_barh(position = "dodgev", stat = "identity")
check_horizontal(v_facet, h_facet, "geom_barh() + facet_wrap()")
v <- ggplot(mpg, aes(x = class)) + geom_bar()
h <- ggplot(mpg, aes(y = class)) + geom_barh()
check_horizontal(v, h, "geom_barh() with count stat")
})
test_that("geom_colh() flips", {
df <- data.frame(trt = c("a", "b", "c"), outcome = c(2.3, 1.9, 3.2))
v <- ggplot(df, aes(trt, outcome)) + geom_col()
h <- ggplot(df, aes(outcome, trt)) + geom_colh()
check_horizontal(v, h, "geom_colh()")
})
test_that("geom_histogramh() flips", {
v <- ggplot(mtcars, aes(drat)) + geom_histogram(bins = 10)
h <- ggplot(mtcars, aes(y = drat)) + geom_histogramh(bins = 10)
check_horizontal(v, h, "geom_histogramh()", TRUE)
v_fill_stack <- ggplot(mtcars, aes(drat, fill = factor(cyl))) + geom_histogram(bins = 10, position = position_stack())
h_fill_stack <- ggplot(mtcars, aes(y = drat, fill = factor(cyl))) + geom_histogramh(bins = 10, position = position_stackv())
check_horizontal(v_fill_stack, h_fill_stack, "geom_histogramh() + position_stack() with fill", TRUE)
v_fill_facet_nudge <- ggplot(mtcars, aes(drat, fill = factor(cyl))) + facet_wrap(~am) + geom_histogram(bins = 10, position = position_nudge())
h_fill_facet_nudge <- ggplot(mtcars, aes(y = drat, fill = factor(cyl))) + facet_wrap(~am) + geom_histogramh(bins = 10, position = position_nudge())
check_horizontal(v_fill_facet_nudge, h_fill_facet_nudge, "geom_histogramh() + position_nudge() with fill")
})
test_that("geom_violinh() flips", {
v <- ggplot(mtcars, aes(factor(cyl), mpg, fill = factor(am))) + geom_violin()
h <- ggplot(mtcars, aes(mpg, factor(cyl), fill = factor(am))) + geom_violinh()
check_horizontal(v, h, "geom_violinh()")
v_facet <- ggplot(mtcars, aes(factor(cyl), mpg, fill = factor(am))) + facet_wrap(~vs) + geom_violin()
h_facet <- ggplot(mtcars, aes(mpg, factor(cyl), fill = factor(am))) + facet_wrap(~vs) + geom_violinh()
check_horizontal(v_facet, h_facet, "geom_violinh() + facet_wrap()")
set.seed(111)
dat <- data.frame(x = LETTERS[1:3], y = rnorm(90))
dat <- dat[dat$x != "C" | c(TRUE, FALSE), ] # Keep half the C's
v <- ggplot(dat, aes(x = x, y = y)) + geom_violin(draw_quantiles = c(0.25, 0.5, 0.75))
h <- ggplot(dat, aes(x = y, y = x)) + geom_violinh(draw_quantiles = c(0.25, 0.5, 0.75))
check_horizontal(v, h, "geom_violinh() + draw_quantiles")
})
test_that("geom_boxploth() flips", {
v <- ggplot(mpg, aes(class, hwy)) + geom_boxplot()
h <- ggplot(mpg, aes(hwy, class)) + geom_boxploth()
check_horizontal(v, h, "geom_boxploth()")
v_fill <- ggplot(mpg, aes(class, hwy, fill = factor(cyl))) + geom_boxplot()
h_fill <- ggplot(mpg, aes(hwy, class, fill = factor(cyl))) + geom_boxploth()
check_horizontal(v_fill, h_fill, "geom_boxploth() with fill")
v_facet_fill <- ggplot(mpg, aes(class, hwy, fill = factor(cyl))) + facet_wrap(~model) + geom_boxplot()
h_facet_fill <- ggplot(mpg, aes(hwy, class, fill = factor(cyl))) + facet_wrap(~model) + geom_boxploth()
check_horizontal(v_facet_fill, h_facet_fill, "geom_boxploth() + facet_wrap() with fill")
df <- data.frame(x = 1:10, y = rep(1:2, 5))
h_continuous <- ggplot(df) + geom_boxploth(aes(x = x, y = y, group = 1))
v_continuous <- ggplot(df) + geom_boxplot(aes(x = y, y = x, group = 1))
check_horizontal(v_continuous, h_continuous, "geom_boxploth() and continuous y scale")
})
test_that("facet_grid() with free scales flips", {
v <- ggplot(mtcars, aes(factor(cyl), disp)) + geom_boxplot() + facet_grid(am ~ ., scales = "free")
h <- ggplot(mtcars, aes(disp, factor(cyl))) + geom_boxploth() + facet_grid(. ~ am, scales = "free")
check_horizontal(v, h, "facet_grid() with free scales")
})
test_that("scale information is preserved", {
v <- range_p_orig +
geom_pointrange(aes(ymin = lower, ymax = upper))+
scale_y_continuous(breaks = c(1, 2, 3, 4, 5),
labels = c("1/1", "2/1", "3/1", "4/1", "5/1"))
h <- range_p +
geom_pointrangeh(aes(xmin = lower, xmax = upper)) +
scale_x_continuous(breaks = c(1, 2, 3, 4, 5),
labels = c("1/1", "2/1", "3/1", "4/1", "5/1"))
check_horizontal(v, h, "scales")
})
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.