Create a histogram ggplot with a wrapper around ggplot2::ggplot()
+ geom_histogram().
Usage
gg_histogram(
data = NULL,
...,
stat = "bin",
position = "stack",
coord = ggplot2::coord_cartesian(clip = "off"),
mode = NULL,
mode_orientation = NULL,
blend = NULL,
x = NULL,
xmin = NULL,
xmax = NULL,
xend = NULL,
y = NULL,
ymin = NULL,
ymax = NULL,
yend = NULL,
z = NULL,
col = NULL,
facet = NULL,
facet2 = NULL,
group = NULL,
subgroup = NULL,
label = NULL,
text = NULL,
sample = NULL,
mapping = NULL,
x_breaks = NULL,
x_breaks_n = NULL,
x_expand = NULL,
x_expand_limits = NULL,
x_label = NULL,
x_labels = NULL,
x_position = "bottom",
x_sec_axis = ggplot2::waiver(),
x_symmetric = NULL,
x_transform = NULL,
y_breaks = NULL,
y_breaks_n = NULL,
y_expand = NULL,
y_expand_limits = NULL,
y_label = NULL,
y_labels = NULL,
y_position = "left",
y_sec_axis = ggplot2::waiver(),
y_symmetric = NULL,
y_transform = NULL,
col_breaks = NULL,
col_breaks_n = 5,
col_drop = FALSE,
col_expand_limits = NULL,
col_label = NULL,
col_labels = NULL,
col_legend_ncol = NULL,
col_legend_nrow = NULL,
col_legend_rev = FALSE,
col_palette = NULL,
col_palette_na = NULL,
col_rescale = scales::rescale(),
col_steps = FALSE,
col_transform = NULL,
facet_axes = NULL,
facet_axis_labels = "margins",
facet_drop = FALSE,
facet_labels = NULL,
facet_layout = NULL,
facet_ncol = NULL,
facet_nrow = NULL,
facet_scales = "fixed",
facet_space = "fixed",
title = NULL,
subtitle = NULL,
caption = NULL,
label_to_case = snakecase::to_sentence_case
)
Arguments
- data
A data frame or tibble.
- ...
Other arguments passed to within a
params
list inlayer()
.- stat
A statistical transformation to use on the data. A snakecase character string of a ggproto Stat subclass object minus the Stat prefix (e.g.
"identity"
).- position
A position adjustment. A snakecase character string of a ggproto Position subclass object minus the Position prefix (e.g.
"identity"
), or aposition_*()
function that outputs a ggproto Position subclass object (e.g.ggplot2::position_identity()
).- coord
A coordinate system. A
coord_*()
function that outputs a constructed ggproto Coord subclass object (e.g.ggplot2::coord_cartesian()
).- mode
A ggplot2 theme (e.g.
light_mode_t()
ordark_mode_r()
) that anticipates side-effects of removing relevant axis line/ticks and gridlines per themode_orientation
.- mode_orientation
The orientation of plot, which affects the theme components that are removed from the mode. Either "x" or "y".
- blend
The blending mode per
ggblend::blend()
(e.g. "multiply").- x, xmin, xmax, xend, y, ymin, ymax, yend, z, col, facet, facet2, group, subgroup, label, text, sample
An unquoted aesthetic variable.
- mapping
A set of additional aesthetic mappings in
ggplot2::aes()
. Intended primarily for non-supported aesthetics (e.g.shape
,linetype
,linewidth
, orsize
), but can also be used for delayed evaluation etc.- x_breaks, y_breaks, col_breaks
A
scales::breaks_*
function (e.g.scales::breaks_*()
), or a vector of breaks.- x_breaks_n, y_breaks_n, col_breaks_n
A number of desired breaks for when
*_breaks = NULL
.- x_expand, y_expand
Padding to the limits with the
ggplot2::expansion()
function, or a vector of length 2 (e.g.c(0, 0)
).- x_expand_limits, y_expand_limits, col_expand_limits
For a continuous variable, any values that the limits should encompass (e.g.
0
). For a discrete scale, manipulate the data instead withforcats::fct_expand
.- x_label, y_label, col_label
Label for the axis or legend title. Use
+ ggplot2::labs(... = NULL)
for no title.- x_labels, y_labels, col_labels, facet_labels
A function that takes the breaks as inputs (e.g.
\(x) stringr::str_to_sentence(x)
orscales::label_*()
), or a vector of labels. (Note this must be named forfacet_labels
).- x_position, y_position
The position of the axis (i.e.
"left"
,"right"
,"bottom"
or"top"
).If usingy_position = "top"
with a*_mode_*
theme, addcaption = ""
orcaption = "\n"
.- x_sec_axis, y_sec_axis
A secondary axis with
ggplot2::dup_axis()
orggplot2::sec_axis()
.- x_symmetric, y_symmetric
TRUE
orFALSE
of whether a symmetric scale.- x_transform, y_transform, col_transform
For a continuous scale, a transformation object (e.g.
scales::transform_log10()
) or character string of this minus thetransform_
prefix (e.g."log10"
).- col_drop, facet_drop
For a discrete variable, FALSE or TRUE of whether to drop unused levels.
- col_legend_ncol, col_legend_nrow
The number of columns and rows in a legend guide.
- col_legend_rev
TRUE
orFALSE
of whether to reverse the elements of a legend guide. Defaults toFALSE
.- col_palette
A character vector of hex codes (or names) or a
scales::pal_*()
function.- col_palette_na
A hex code (or name) for the colour of
NA
values.- col_rescale
For a continuous variable, a
scales::rescale()
function.- col_steps
For a continuous variable,
TRUE
orFALSE
of whether to colour in steps. Defaults toFALSE
.- facet_axes
Whether to add interior axes and ticks with
"margins"
,"all"
,"all_x"
, or"all_y"
. Sometimes+ *_mode_*()
may be needed.- facet_axis_labels
Whether to add interior axis labels with
"margins"
,"all"
,"all_x"
, or"all_y"
.- facet_layout
Whether the layout is to be
"wrap"
or"grid"
. IfNULL
and a singlefacet
(orfacet2
) argument is provided, then defaults to"wrap"
. IfNULL
and both facet and facet2 arguments are provided, defaults to"grid"
.- facet_ncol, facet_nrow
The number of columns and rows of facet panels. Only applies to a facet layout of
"wrap"
.- facet_scales
Whether facet scales should be
"fixed"
across facets,"free"
in both directions, or free in just one direction (i.e."free_x"
or"free_y"
). Defaults to"fixed"
.- facet_space
When the facet scales are not
"fixed"
, whether facet space should be"fixed"
across facets,"free"
to be proportional in both directions, or free to be proportional in just one direction (i.e."free_x"
or"free_y"
). Defaults to"fixed"
.- title
Title string.
- subtitle
Subtitle string.
Caption title string.
- label_to_case
A function to format the default
x_label
,y_label
andcol_label
of unlabelled variables. Defaults tosnakecase::to_sentence_case
.
Examples
library(ggplot2)
library(dplyr)
library(palmerpenguins)
set_blanket()
penguins |>
gg_histogram(
x = flipper_length_mm,
col = sex,
bins = 50,
)
#> Scale for colour is already present.
#> Adding another scale for colour, which will replace the existing scale.
#> Warning: Removed 2 rows containing non-finite outside the scale range (`stat_bin()`).