# A dummy plot
p <- ggplot(data.frame(x = 1:3, type = c("tic", "tac", "toe"))) +
aes(x, x, shape = type) +
geom_point(na.rm = TRUE) +
scale_shape_manual(values = c(1, 4, NA))
# A design string, each character giving a cell value.
# Newlines separate rows, white space is ignored.
design <- "
123
213
321
"
# Alternatively, the same can be specified using a matrix directly
# design <- matrix(c(1, 2, 3, 2, 1, 3, 3, 2, 1), 3, 3, byrow = TRUE)
p + guides(shape = guide_legend_base(design = design))
# Empty cells can be created using `#`
design <- "
#2#
1#3
"
# Alternatively:
# design <- matrix(c(NA, 1, 2, NA, NA, 3), nrow = 2)
p + guides(shape = guide_legend_base(design = design))
Run the code above in your browser using DataLab