Opinionated, typographic-centric ggplot2 themes and theme components
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

102 lines
3.7 KiB

% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/theme-ipsum.r
\name{theme_ipsum}
\alias{theme_ipsum}
\title{A precise & pristine \link{ggplot2} theme with opinionated defaults and an emphasis on typoghraphy}
\usage{
theme_ipsum(base_family = "Arial Narrow", base_size = 11,
plot_title_family = "Arial Narrow", plot_title_size = 18,
plot_title_face = "bold", plot_title_margin = 10,
subtitle_family = "Arial Narrow", subtitle_size = 12,
subtitle_face = "plain", subtitle_margin = 15,
strip_text_family = "Arial Narrow", strip_text_size = 12,
strip_text_face = "plain", caption_family = "Arial Narrow",
caption_size = 9, caption_face = "italic", caption_margin = 10,
axis_title_family = subtitle_family, axis_title_size = 9,
axis_title_face = "plain", axis_title_just = "rt",
plot_margin = margin(30, 30, 30, 30), grid = TRUE, axis = FALSE,
ticks = FALSE)
}
\arguments{
\item{base_family, base_size}{base font family and size}
\item{plot_title_family, plot_title_face, plot_title_size, plot_title_margin}{plot tilte family, face, size and margi}
\item{subtitle_family, subtitle_face, subtitle_size}{plot subtitle family, face and size}
\item{subtitle_margin}{plot subtitle margin bottom (single numeric value)}
\item{strip_text_family, strip_text_face, strip_text_size}{facet label font family, face and size}
\item{caption_family, caption_face, caption_size, caption_margin}{plot caption family, face, size and margin}
\item{axis_title_family, axis_title_face, axis_title_size}{axis title font family, face and size}
\item{axis_title_just}{axis title font justificationk one of \code{[blmcrt]}}
\item{plot_margin}{plot margin (specify with \link[ggplot2:margin]{ggplot2::margin})}
\item{grid}{panel grid (\code{TRUE}, \code{FALSE}, or a combination of \code{X}, \code{x}, \code{Y}, \code{y})}
\item{axis}{add x or y axes? \code{TRUE}, \code{FALSE}, "\code{xy}"}
\item{ticks}{ticks if \code{TRUE} add ticks}
}
\description{
A precise & pristine \link{ggplot2} theme with opinionated defaults and an emphasis on typoghraphy
}
\section{Why Arial Narrow?}{
First and foremost, Arial Narrow is generally installed by default or readily
available on any modern system, so it's "free"-ish; plus, it is a condensed font
with solid default kerning pairs and geometric numbers.
}
\section{Building upon \code{theme_ipsum}}{
The function is setup in such a way that you can customize your own one by just
wrapping the call and changing the parameters. See source for examples.
}
\section{Gotchas}{
There are distinctions between font names and various devices. Names that work
for display graphics devices and bitmap ones such as \code{png} may not work well
for PostScript or PDF ones. You may need two versions of a font-based
theme function for them to work in a particular situation. This situation
usually only arises when using a newer font with many weights but somewhat
irregular internal font name patterns.
}
\examples{
\dontrun{
library(ggplot2)
library(dplyr)
# seminal scatterplot
ggplot(mtcars, aes(mpg, wt)) +
geom_point() +
labs(x="Fuel effiiency (mpg)", y="Weight (tons)",
title="Seminal ggplot2 scatterplot example",
subtitle="A plot that is only useful for demonstration purposes",
caption="Brought to you by the letter 'g'") +
theme_ipsum()
# seminal bar chart
library(dplyr)
update_geom_font_defaults()
count(mpg, class) \%>\%
ggplot(aes(class, n)) +
geom_col() +
geom_text(aes(label=n), nudge_y=3) +
labs(x="Fuel effiiency (mpg)", y="Weight (tons)",
title="Seminal ggplot2 bar chart example",
subtitle="A plot that is only useful for demonstration purposes",
caption="Brought to you by the letter 'g'") +
theme_ipsum(grid="Y") +
theme(axis.text.y=element_blank())
}
}