Nothing
## ----include = FALSE----------------------------------------------------------
knitr::opts_chunk$set(
collapse = TRUE,
dev = "ragg_png",
comment = "#>"
)
## ----setup--------------------------------------------------------------------
library("ggplot2")
library("ggpattern")
## ----echo = FALSE-------------------------------------------------------------
x <- read.csv(textConnection("
x, y, id
0, 0, 1
1, 0, 1
1, 1, 1
0, 1, 1
0, 0, 2
2, 0, 2
2, 1, 2
0, 1, 2"))
knitr::kable(x, caption = "example data in 'polygon_df' format")
## ----eval = FALSE-------------------------------------------------------------
# options(ggpattern_array_funcs = list(your_pattern_name = your_pattern_function))
# options(ggpattern_geometry_funcs = list(your_pattern_name = your_pattern_function))
## -----------------------------------------------------------------------------
tiling3_pattern <- function(params, boundary_df, aspect_ratio, legend = FALSE) {
args <- as.list(params)
args <- args[grep("^pattern_", names(args))]
# hexagonal tiling using "regular_polygon" pattern
args$pattern <- "polygon_tiling"
# three-color tiling using `fill`, `pattern_fill` and their "average"
avg_col <- gridpattern::mean_col(params$fill, params$pattern_fill)
args$pattern_fill <- c(params$fill, avg_col, args$pattern_fill)
args$x <- boundary_df$x
args$y <- boundary_df$y
args$id <- boundary_df$id
args$prefix <- ""
do.call(gridpattern::patternGrob, args)
}
## -----------------------------------------------------------------------------
options(ggpattern_geometry_funcs = list(tiling3 = tiling3_pattern))
## -----------------------------------------------------------------------------
df <- data.frame(trt = c("a", "b", "c"), outcome = c(2.3, 1.9, 3.2))
ggplot(df, aes(trt, outcome)) +
geom_col_pattern(aes(fill = trt, pattern_type = trt),
pattern = 'tiling3',
pattern_angle = 45,
pattern_spacing = 0.15) +
scale_pattern_type_manual(values = c("hexagonal", "tetrakis_square", "rhombille")) +
theme(legend.key.size = unit(1.2, 'cm'))
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.