Margin grobs can supplement a 2d display with annotations. Margin grobs such
as icons or symbols can highlight individual values along a margin. The
geometries geom_x_margin_grob()
and geom_y_margin_grob()
behave
similarly geom_vline()
and geom_hline()
and share their "double
personality" as both annotations and geometries.
geom_x_margin_grob(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
xintercept,
sides = "b",
grob.shift = 0,
na.rm = FALSE,
show.legend = FALSE,
inherit.aes = FALSE
)geom_y_margin_grob(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
yintercept,
sides = "l",
grob.shift = 0,
na.rm = FALSE,
show.legend = FALSE,
inherit.aes = FALSE
)
A plot layer instance.
The aesthetic mapping, usually constructed with
aes
. Only needs to be set at the layer level if you
are overriding the plot defaults.
A layer specific dataset - only needed if you want to override the plot defaults.
The statistical transformation to use on the data for this layer, as a string.
Position adjustment, either as a string, or the result of a call to a position adjustment function.
other arguments passed on to layer
. This
can include aesthetics whose values you want to set, not map. See
layer
for more details.
numeric Parameters that control the position of the marginal points. If these are set, data, mapping and show.legend are overridden.
A character string of length one that controls on which side of
the plot the grob annotations appear on. It can be set to a string
containing one of "t"
, "r"
, "b"
or "l"
, for
top, right, bottom, and left.
numeric value expressed in npc units for the shift of the marginal grob inwards from the edge of the plotting area.
If FALSE
(the default), removes missing values with a
warning. If TRUE
silently removes missing values.
logical. Should this layer be included in the legends?
NA
, the default, includes if any aesthetics are mapped. FALSE
never includes, and TRUE
always includes.
If FALSE
, overrides the default aesthetics, rather
than combining with them. This is most useful for helper functions that
define both data and aesthetics and shouldn't inherit behaviour from the
default plot specification, e.g. borders
.
You can modify text alignment with the vjust
and
hjust
aesthetics. These can either be a number between 0
(right/bottom) and 1 (top/left) or a character ("left"
,
"middle"
, "right"
, "bottom"
, "center"
,
"top"
). In addition, you can use special alignments for
justification including "position"
, "inward"
and
"outward"
. Inward always aligns text towards the center of the
plotting area, and outward aligns it away from the center of the plotting
area. If tagged with _mean
or _median
(e.g.,
"outward_mean"
) the mean or median of the data in the panel along
the corresponding axis is used as center. If the characters following the
underscore represent a number (e.g., "outward_10.5"
) the reference
point will be this value in data units. Position justification is computed
based on the direction of the displacement of the position of the label so
that each individual text or label is justified outwards from its original
position. The default justification is "position"
.
If no position displacement is applied, or a position function defined in
'ggplot2' is used, these geometries behave similarly to the corresponding
ones from package 'ggplot2' with a default justification of 0.5
and
no segment drawn.
Many layer functions from package 'ggpp' are
designed to work seamlessly with position functions that keep, rather than
discard, the original x
and y
positions in data
when
computing a new displaced position. See position_nudge_keep
,
position_dodge_keep
, position_jitter_keep
,
position_nudge_center
, position_nudge_line
,
position_nudge_to
, position_dodgenudge
,
position_jitternudge
, and position_stacknudge
for examples and details of their use.
grid-package
, geom_rug
,
and other documentation of package 'ggplot2'.
Other Geometries for marginal annotations in ggplots:
geom_x_margin_arrow()
,
geom_x_margin_point()
# We can add icons to the margin of a plot to signal events
Run the code above in your browser using DataLab