Create a pointrange ggplot with a wrapper around ggplot2::ggplot()
+ geom_pointrange().
gg_pointrange(
data = NULL,
...,
stat = "identity",
position = "identity",
coord = ggplot2::coord_cartesian(clip = "off"),
mode = NULL,
mode_orientation = 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
)
A ggplot object.
A data frame or tibble.
Other arguments passed to within a params
list in layer()
.
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"
).
A position adjustment. A snakecase character string of a ggproto Position subclass object minus the Position prefix (e.g. "identity"
), or a position_*()
function that outputs a ggproto Position subclass object (e.g. ggplot2::position_identity()
).
A coordinate system. A coord_*()
function that outputs a constructed ggproto Coord subclass object (e.g. ggplot2::coord_cartesian()
).
A ggplot2 theme (e.g. light_mode_t()
or dark_mode_r()
) that anticipates side-effects of removing relevant axis line/ticks and gridlines per the mode_orientation
.
The orientation of plot, which affects the theme components that are removed from the mode. Either "x" or "y".
An unquoted aesthetic variable.
A set of additional aesthetic mappings in ggplot2::aes()
. Intended primarily for non-supported aesthetics (e.g. shape
, linetype
, linewidth
, or size
), but can also be used for delayed evaluation etc.
A scales::breaks_*
function (e.g. scales::breaks_*()
), or a vector of breaks.
A number of desired breaks for when *_breaks = NULL
.
Padding to the limits with the ggplot2::expansion()
function, or a vector of length 2 (e.g. c(0, 0)
).
For a continuous variable, any values that the limits should encompass (e.g. 0
). For a discrete scale, manipulate the data instead with forcats::fct_expand
.
Label for the axis or legend title. Use + ggplot2::labs(... = NULL)
for no title.
A function that takes the breaks as inputs (e.g. \(x) stringr::str_to_sentence(x)
or scales::label_*()
), or a vector of labels. (Note this must be named for facet_labels
).
The position of the axis (i.e. "left"
, "right"
, "bottom"
or "top"
).If using y_position = "top"
with a *_mode_*
theme, add caption = ""
or caption = "\n"
.
A secondary axis with ggplot2::dup_axis()
or ggplot2::sec_axis()
.
TRUE
or FALSE
of whether a symmetric scale.
For a continuous scale, a transformation object (e.g. scales::transform_log10()
) or character string of this minus the transform_
prefix (e.g. "log10"
).
For a discrete variable, FALSE or TRUE of whether to drop unused levels.
The number of columns and rows in a legend guide.
TRUE
or FALSE
of whether to reverse the elements of a legend guide. Defaults to FALSE
.
A character vector of hex codes (or names) or a scales::pal_*()
function.
A hex code (or name) for the colour of NA
values.
For a continuous variable, a scales::rescale()
function.
For a continuous variable, TRUE
or FALSE
of whether to colour in steps. Defaults to FALSE
.
Whether to add interior axes and ticks with "margins"
, "all"
, "all_x"
, or "all_y"
. Sometimes + *_mode_*()
may be needed.
Whether to add interior axis labels with "margins"
, "all"
, "all_x"
, or "all_y"
.
Whether the layout is to be "wrap"
or "grid"
. If NULL
and a single facet
(or facet2
) argument is provided, then defaults to "wrap"
. If NULL
and both facet and facet2 arguments are provided, defaults to "grid"
.
The number of columns and rows of facet panels. Only applies to a facet layout of "wrap"
.
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"
.
When the facet layout is "grid"
and 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 string.
Subtitle string.
Caption title string.
A function to format the default x_label
, y_label
and col_label
of unlabelled variables. Defaults to snakecase::to_sentence_case
.
library(ggplot2)
library(dplyr)
set_blanket()
data.frame(
trt = factor(c(1, 1, 2, 2)),
resp = c(1, 5, 3, 4),
group = factor(c(1, 2, 1, 2)),
upper = c(1.1, 5.3, 3.3, 4.2),
lower = c(0.8, 4.6, 2.4, 3.6)
) |>
gg_pointrange(
x = trt,
y = resp,
col = group,
ymin = lower,
ymax = upper,
position = position_dodge(width = 0.2),
x_label = "Treatment",
y_label = "Response",
)
Run the code above in your browser using DataLab