geom_interval {ggdist} | R Documentation |
Multiple-interval plot (shortcut geom)
Description
Shortcut version of geom_slabinterval()
for creating multiple-interval plots.
Roughly equivalent to:
geom_slabinterval( aes( datatype = "interval", side = "both" ), interval_size_range = c(1, 6), show_slab = FALSE, show_point = FALSE )
Usage
geom_interval(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
orientation = NA,
interval_size_range = c(1, 6),
interval_size_domain = c(1, 6),
arrow = NULL,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
Arguments
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
stat |
The statistical transformation to use on the data for this
layer, either as a |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function.
Setting this equal to |
... |
Other arguments passed to |
orientation |
Whether this geom is drawn horizontally or vertically. One of:
For compatibility with the base ggplot naming scheme for |
interval_size_range |
A length-2 numeric vector. This geom scales the raw size aesthetic values when drawing interval and point
sizes, as they tend to be too thick when using the default settings of |
interval_size_domain |
A length-2 numeric vector giving the minimum and maximum of the values of the |
arrow |
|
na.rm |
If |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
Details
This geom wraps geom_slabinterval()
with defaults designed to produce
multiple-interval plots. Default aesthetic mappings are applied if the .width
column
is present in the input data (e.g., as generated by the point_interval()
family of functions),
making this geom often more convenient than vanilla ggplot2 geometries when used with
functions like median_qi()
, mean_qi()
, mode_hdi()
, etc.
Specifically, if .width
is present in the input, geom_interval()
acts
as if its default aesthetics are aes(colour = forcats::fct_rev(ordered(.width)))
Value
A ggplot2::Geom representing a multiple-interval geometry which can
be added to a ggplot()
object.
Aesthetics
The slab+interval stat
s and geom
s have a wide variety of aesthetics that control
the appearance of their three sub-geometries: the slab, the point, and
the interval.
Positional aesthetics
x
: x position of the geometryy
: y position of the geometry
Interval-specific aesthetics
xmin
: Left end of the interval sub-geometry (iforientation = "horizontal"
).xmax
: Right end of the interval sub-geometry (iforientation = "horizontal"
).ymin
: Lower end of the interval sub-geometry (iforientation = "vertical"
).ymax
: Upper end of the interval sub-geometry (iforientation = "vertical"
).
Color aesthetics
colour
: (orcolor
) The color of the interval and point sub-geometries. Use theslab_color
,interval_color
, orpoint_color
aesthetics (below) to set sub-geometry colors separately.fill
: The fill color of the slab and point sub-geometries. Use theslab_fill
orpoint_fill
aesthetics (below) to set sub-geometry colors separately.alpha
: The opacity of the slab, interval, and point sub-geometries. Use theslab_alpha
,interval_alpha
, orpoint_alpha
aesthetics (below) to set sub-geometry colors separately.colour_ramp
: (orcolor_ramp
) A secondary scale that modifies thecolor
scale to "ramp" to another color. Seescale_colour_ramp()
for examples.fill_ramp
: A secondary scale that modifies thefill
scale to "ramp" to another color. Seescale_fill_ramp()
for examples.
Line aesthetics
linewidth
: Width of the line used to draw the interval (except withgeom_slab()
: then it is the width of the slab). With composite geometries including an interval and slab, useslab_linewidth
to set the line width of the slab (see below). For interval, rawlinewidth
values are transformed according to theinterval_size_domain
andinterval_size_range
parameters of thegeom
(see above).size
: Determines the size of the point. Iflinewidth
is not provided,size
will also determines the width of the line used to draw the interval (this allows line width and point size to be modified together by setting onlysize
and notlinewidth
). Rawsize
values are transformed according to theinterval_size_domain
,interval_size_range
, andfatten_point
parameters of thegeom
(see above). Use thepoint_size
aesthetic (below) to set sub-geometry size directly without applying the effects ofinterval_size_domain
,interval_size_range
, andfatten_point
.stroke
: Width of the outline around the point sub-geometry.linetype
: Type of line (e.g.,"solid"
,"dashed"
, etc) used to draw the interval and the outline of the slab (if it is visible). Use theslab_linetype
orinterval_linetype
aesthetics (below) to set sub-geometry line types separately.
Interval-specific color and line override aesthetics
interval_colour
: (orinterval_color
) Override forcolour
/color
: the color of the interval.interval_alpha
: Override foralpha
: the opacity of the interval.interval_linetype
: Override forlinetype
: the line type of the interval.
Deprecated aesthetics
interval_size
: Useinterval_linewidth
.
Other aesthetics (these work as in standard geom
s)
width
height
group
See examples of some of these aesthetics in action in vignette("slabinterval")
.
Learn more about the sub-geom override aesthetics (like interval_color
) in the
scales documentation. Learn more about basic ggplot aesthetics in
vignette("ggplot2-specs")
.
See Also
See stat_interval()
for the stat version, intended for
use on sample data or analytical distributions.
See geom_slabinterval()
for the geometry this shortcut is based on.
Other slabinterval geoms:
geom_pointinterval()
,
geom_slab()
,
geom_spike()
Examples
library(dplyr)
library(ggplot2)
theme_set(theme_ggdist())
data(RankCorr_u_tau, package = "ggdist")
# orientation is detected automatically based on
# use of xmin/xmax or ymin/ymax
RankCorr_u_tau %>%
group_by(i) %>%
median_qi(.width = c(.5, .8, .95, .99)) %>%
ggplot(aes(y = i, x = u_tau, xmin = .lower, xmax = .upper)) +
geom_interval() +
scale_color_brewer()
RankCorr_u_tau %>%
group_by(i) %>%
median_qi(.width = c(.5, .8, .95, .99)) %>%
ggplot(aes(x = i, y = u_tau, ymin = .lower, ymax = .upper)) +
geom_interval() +
scale_color_brewer()