#' a ggplot2 theme with sand-like palette (version 1)
#'
#' @param base_size Default font size = 14
#' @param base_family Font family. Defaults to "serif"
#' @param base_line_size defaults to base_size/22
#' @param base_rect_size defaults to base_size/22
#' @export
#' @return nothing
#' @examples
#' theme_set(theme_sand())
theme_sand = function(base_size = 14, base_family = "serif", base_line_size = base_size/22,
base_rect_size = base_size/22)
{
theme_bw(base_size = base_size, base_family = base_family,
base_line_size = base_line_size, base_rect_size = base_rect_size) %+replace%
theme(axis.ticks = element_blank(), legend.background = element_blank(),
legend.key = element_blank(), panel.background = element_rect(fill = "#f7f5f2A8",
colour = "#f7f5f2A8",
size = 0.5, linetype = "solid"),
panel.border = element_blank(), strip.background = element_rect(colour="#a99e991A", fill="#b59b8e1A"),
axis.title.y = element_text(angle = 90, margin = ggplot2::margin(t = 0, r = 15, b = 0, l = 0)),
axis.title.x = element_text(margin = ggplot2::margin(t = 15, r = 0, b = 0, l = 0)),
strip.text.x = element_text(color = "#52361b", size = floor(base_size * .85), margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
strip.text.y = element_text(color = "#52361b", size = floor(base_size * .85), angle = 90, margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)), plot.background = element_rect(fill = "#fffaeb8F"),
panel.grid.major = element_line(size = 0.65, linetype = 'solid', colour = "#ffffff"),
panel.grid.minor = element_line(size = 0.65, linetype = 'solid', colour = "#ffffff"), complete = TRUE)
}
#' a ggplot2 theme with sand-like palette (version 2)
#'
#' @param base_size Default font size = 14
#' @param base_family Font family. Defaults to "serif"
#' @param base_line_size defaults to base_size/22
#' @param base_rect_size defaults to base_size/22
#' @export
#' @return nothing
#' @examples
#' theme_set(theme_sand2())
theme_sand2 = function(base_size = 14, base_family = "serif", base_line_size = base_size/22,
base_rect_size = base_size/22)
{
theme_bw(base_size = base_size, base_family = base_family,
base_line_size = base_line_size, base_rect_size = base_rect_size) %+replace%
theme(axis.ticks = element_blank(), legend.background = element_blank(),
legend.key = element_blank(), panel.background = element_rect(fill = "#fffaebBD",
colour = "#fffaebBD",
size = 0.5, linetype = "solid"),
axis.title.y = element_text(angle = 90, margin = ggplot2::margin(t = 0, r = 15, b = 0, l = 0)),
axis.title.x = element_text(margin = ggplot2::margin(t = 15, r = 0, b = 0, l = 0)),
axis.line = element_line(colour = "#e7d9c7"),
strip.background = element_rect(colour="#a99e995E", fill="#b59b8e33"),
strip.text.x = element_text(color = "#52361b", size = floor(base_size * .85), margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
strip.text.y = element_text(color = "#52361b", size = floor(base_size * .85), angle = 90, margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
panel.border = element_blank(),
plot.background = element_rect(fill = "#fffaeb40"),
panel.grid.major = element_line(size = 0.65, linetype = 'dashed', colour = "#dbd7d28F"),
panel.grid.minor = element_line(size = 0.65, linetype = 'dashed', colour = "#dbd7d28F"), complete = TRUE)
}
#' a ggplot2 theme based on the game boy classic screen
#'
#' @param base_size Default font size = 14
#' @param base_family Font family. Defaults to "serif"
#' @param base_line_size defaults to base_size/22
#' @param base_rect_size defaults to base_size/22
#' @export
#' @return nothing
#' @examples
#' theme_set(theme_gameboy())
theme_gameboy = function(base_size = 14, base_family = "serif", base_line_size = base_size/20,
base_rect_size = base_size/20)
{
theme_bw(base_size = base_size, base_family = base_family,
base_line_size = base_line_size, base_rect_size = base_rect_size) %+replace%
theme(axis.ticks = element_blank(),
axis.title.y = element_text(color = "#2D3F2D", angle = 90, margin = ggplot2::margin(t = 0, r = 12, b = 0, l = 0)),
axis.title.x = element_text(color = "#2D3F2D", margin = ggplot2::margin(t = 7, r = 0, b = -1, l = 0)),
legend.position = "right",
legend.background = element_blank(),
legend.text = element_text(size = floor(base_size * 0.80)),
legend.title = element_text(size = floor(base_size * 0.90)),
legend.key = element_blank(), panel.background = element_rect(fill = "#788527",
colour = "#859608",
size = 0.5,
linetype = "solid"),
axis.line = element_line(colour = "#859608"),
strip.background = element_rect(colour="#394221", fill="#4F532D"),
strip.text.x = element_text(color = "#9BAD9B", size = floor(base_size * .85), margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
strip.text.y = element_text(color = "#9BAD9B", size = floor(base_size * .85), angle = 90, margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
panel.border = element_blank(),
plot.background = element_rect(fill = "#a1ad15"),
panel.grid.major = element_line(size = 0.65, linetype = 11, colour = "#82924C80"),
panel.grid.minor = element_line(size = 0.65, linetype = 11, colour = "#82924C80"), complete = TRUE)
}
#' a ggplot2 theme based on the gameboy light screen
#'
#' @param base_size Default font size = 14
#' @param base_family Font family. Defaults to "serif"
#' @param base_line_size defaults to base_size/22
#' @param base_rect_size defaults to base_size/22
#' @export
#' @return nothing
#' @examples
#' theme_set(theme_gameboy2())
theme_gameboy2 = function(base_size = 14, base_family = "serif", base_line_size = base_size/20,
base_rect_size = base_size/20)
{
theme_bw(base_size = base_size, base_family = base_family,
base_line_size = base_line_size, base_rect_size = base_rect_size) %+replace%
theme(axis.ticks = element_blank(),
axis.title.y = element_text(angle = 90, margin = ggplot2::margin(t = 0, r = 15, b = 0, l = 0)),
axis.title.x = element_text(margin = ggplot2::margin(t = 15, r = 0, b = 0, l = 0)),
legend.background = element_blank(),
legend.key = element_blank(), panel.background = element_rect(fill = "#358e9466",
colour = "#08699666",
size = 0.5,
linetype = "solid"),
axis.line = element_line(colour = "#2abcc9CC"),
strip.background = element_rect(colour="#09211dE6", fill="#0d2a28E6"),
strip.text.x = element_text(color = "#1a568b", size = floor(base_size * .85), margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
strip.text.y = element_text(color = "#1a568b", size = floor(base_size * .85), angle = 90, margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
panel.border = element_blank(),
plot.background = element_rect(fill = "#21b3c1BF"),
panel.grid.major = element_line(size = 0.75, linetype = 11, colour = "#88bab466"),
panel.grid.minor = element_line(size = 0.75, linetype = 11, colour = "#88bab466"), complete = TRUE)
}
#' a ggplot2 theme that looks like graph paper
#'
#' @param base_size Default font size = 14
#' @param base_family Font family. Defaults to "serif"
#' @param base_line_size defaults to base_size/22
#' @param base_rect_size defaults to base_size/22
#' @export
#' @return nothing
#' @examples
#' theme_set(theme_gridpaper())
theme_gridpaper = function(base_size = 14, base_family = "serif", base_line_size = base_size/20,
base_rect_size = base_size/20)
{
theme_bw(base_size = base_size, base_family = base_family,
base_line_size = base_line_size, base_rect_size = base_rect_size) %+replace%
theme(axis.ticks = element_blank(),
axis.title.y = element_text(angle = 90, margin = ggplot2::margin(t = 0, r = 15, b = 0, l = 0)),
axis.title.x = element_text(margin = ggplot2::margin(t = 15, r = 0, b = 0, l = 0)),
legend.background = element_blank(),
legend.key = element_blank(), panel.background = element_rect(fill = "#f6faf05C",
colour = "#f6faf05C"),
axis.line = element_blank(),
strip.background = element_rect(colour="#09211dE6", fill="#edf9f6E6"),
strip.text.x = element_text(color = "#113125", size = floor(base_size * .85), margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
strip.text.y = element_text(color = "#113125", size = floor(base_size * .85), angle = 90, margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
panel.border = element_blank(),
plot.background = element_rect(fill = "#fbfcfa4D"),
panel.grid.major = element_line(size = 0.85, linetype = "solid", colour = "#a8e3a8D1"),
panel.grid.minor = element_line(size = 0.70, linetype = "solid", colour = "#a8e3a8B5"),
complete = TRUE)
}
#' a simple ggplot2 theme
#'
#' @param base_size Default font size = 14
#' @param base_family Font family. Defaults to "serif"
#' @param base_line_size defaults to base_size/22
#' @param base_rect_size defaults to base_size/22
#' @export
#' @return nothing
#' @examples
#' theme_set(theme_simple())
theme_simple = function(base_size = 14, base_family = "serif", base_line_size = base_size/20, base_rect_size = base_size/20)
{
theme_bw(base_size = base_size, base_family = base_family,
base_line_size = base_line_size, base_rect_size = base_rect_size) %+replace%
theme(axis.ticks = element_blank(),
axis.title.y = element_text(angle = 90, margin = ggplot2::margin(t = 0, r = 15, b = 0, l = 0)),
axis.title.x = element_text(margin = ggplot2::margin(t = 15, r = 0, b = 0, l = 0)),
legend.background = element_blank(),
legend.key = element_blank(), panel.background = element_rect(fill = "#fefff133",
colour = "#fefff133"),
axis.line = element_blank(),
strip.background = element_rect(colour="#fefff1", fill="#fefff1"),
strip.text.x = element_text(color = "#15001e", size = floor(base_size * .85), margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
strip.text.y = element_text(color = "#15001e", size = floor(base_size * .85), angle = 90, margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
panel.border = element_blank(),
plot.background = element_rect(fill = "#fefff133"),
panel.grid.major = element_line(size = 0.70, linetype = "dotted", colour = "#15001eB3"),
panel.grid.minor = element_line(size = 0.70, linetype = "dotted", colour = "#15001eB3"),
complete = TRUE)
}
#' a lattice graphics inspired ggplot2 theme
#'
#' @param base_size Default font size = 14
#' @param base_family Font family. Defaults to "sans"
#' @param base_line_size defaults to base_size/22
#' @param base_rect_size defaults to base_size/22
#' @export
#' @return nothing
#' @examples
#' theme_set(theme_lattice())
theme_lattice = function(base_size = 14, base_family = "sans", base_line_size = base_size/20, base_rect_size = base_size/15) {
theme_bw(base_size = base_size, base_family = base_family,
base_line_size = base_line_size, base_rect_size = base_rect_size) %+replace%
theme(axis.text = element_text(color = "black", size = floor(base_size * 0.70)),
axis.ticks.length = unit(.1250, "cm"),
axis.line.y.left = element_line(colour = "black", size = 0.25, linetype = "solid"),
axis.line.x.bottom = element_line(colour = "black", size = 0.01, linetype = "solid"),
axis.line.y.right = element_line(colour = "black", size = 0.01, linetype = "solid"),
axis.line.x.top = element_line(colour = "black", size = 0.25, linetype = "solid"),
axis.title.y = element_text(size = floor(base_size * .90), angle = 90, margin = ggplot2::margin(t = 0, r = 15, b = 0, l = 0)),
axis.title.x = element_text(size = floor(base_size * .90), margin = ggplot2::margin(t = 15, r = 0, b = 0, l = 0)),
legend.background = element_blank(),
legend.key = element_blank(),
panel.grid.major = element_line(size = 0.50, linetype = "solid", colour = "#cacaca8F"),
panel.grid.minor = element_line(size = 0.50, linetype = "solid", colour = "#cacaca8F"),
panel.background = element_rect(fill = "#ffffff"),
panel.border = element_rect(linetype = "solid", colour = "black", fill = NA, size = 0.5),
strip.background = element_rect(fill = "#ffe5cc"),
strip.text.x = element_text(color = "#353232", size = floor(base_size * .6925), margin = ggplot2::margin(b = base_size / 6.5, t = base_size / 6.5)),
strip.text.y = element_text(color = "#353232", size = floor(base_size * .6925), angle = 90, margin = ggplot2::margin( b = base_size / 6.5, t = base_size / 6.5))
, complete = TRUE)
}
#' a lattice graphics inspired ggplot2 theme
#'
#' @param base_size Default font size = 14
#' @param base_family Font family. Defaults to "sans"
#' @param base_line_size defaults to base_size/22
#' @param base_rect_size defaults to base_size/22
#' @export
#' @return nothing
#' @examples
#' theme_set(theme_baseplot())
theme_baseplot <- function(base_size = 14, base_family = "sans", base_line_size = base_size/20, base_rect_size = base_size/20) {
theme_bw(base_size = base_size, base_family = base_family,
base_line_size = base_line_size, base_rect_size = base_rect_size) %+replace%
theme(panel.grid = element_blank(),
panel.border = element_rect(linetype = "solid", colour = "black", fill = NA, size = 0.5),
strip.background = element_rect(fill = "white"),
strip.text.x = element_text(color = "black", size = floor(base_size * .8125), margin = ggplot2::margin(b = base_size / 6, t = base_size / 6)),
strip.text.y = element_text(color = "black", size = floor(base_size * .8125), angle = 90, margin = ggplot2::margin( b = base_size / 6, t = base_size / 6)),
legend.position = "right",
legend.background = element_blank(),
legend.key = element_blank(),
legend.text = element_text(size = floor(base_size * 0.80)),
legend.title = element_text(size = floor(base_size * 0.90)),
title = element_text(size = rel(1)),
plot.title = element_text(size = rel(1.2), face = "bold"),
strip.text = element_text(),
axis.ticks.length = unit(0.5, "lines"),
axis.title.y = element_text(angle = 90, size = floor(base_size * 0.95), margin = ggplot2::margin(t = 0, r = 15, b = 0, l = 0)),
axis.title.x = element_text(size = floor(base_size * 0.95), margin = ggplot2::margin(t = 15, r = 0, b = 0, l = 0))
, complete = TRUE
)
}
#' A color palette for theme_gameboy
#'
#' @param n number of colors
#'
#' @return
#' a vector of colors
#' @export
#'
#' @examples
#' pal_gameboy(10)
pal_gameboy = function(n){
grDevices::colorRampPalette(c("#cadc9f", "#30391A"))(n)
}
#' A color palette for theme_gameboy2
#'
#' @param n number of colors
#'
#' @return
#' a vector of colors
#' @export
#'
#' @examples
#' pal_gameboy2(10)
pal_gameboy2 = function(n){
grDevices::colorRampPalette(c("#9feddb", "#235d5e"))(n)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.