
Last chance! 50% off unlimited learning
Sale ends in
Small arrows on plot margins can supplement a 2d display with annotations.
Arrows can be used to highligth specific values along a margin. The geometries
geom_x_margin_arrow()
and geom_y_margin_arrow()
behave
similarly geom_vline()
and geom_hline()
and share their "double
personality" as both annotations and geometries.
geom_x_margin_arrow(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
xintercept,
sides = "b",
arrow.length = 0.03,
na.rm = FALSE,
show.legend = FALSE,
inherit.aes = FALSE
)geom_y_margin_arrow(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
...,
yintercept,
sides = "l",
arrow.length = 0.03,
na.rm = FALSE,
show.legend = FALSE,
inherit.aes = FALSE
)
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.
numeric Parameters that control the position of the marginal points. If these are set, data, mapping and show.legend are overridden.
A string that controls which sides of the plot the rugs appear on. It can be set to a string containing any of `"trbl"`, for top, right, bottom, and left.
numeric value expressed in npc units for the length of the arows 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
.
A plot layer instance.
Other Geometries for marginal annotations in ggplots:
geom_x_margin_grob()
,
geom_x_margin_point()
# NOT RUN {
p <- ggplot(mtcars, aes(wt, mpg)) +
geom_point()
p
p + geom_x_margin_arrow(xintercept = 3.5)
p + geom_y_margin_arrow(yintercept = c(18, 28, 15))
p + geom_x_margin_arrow(data = data.frame(x = c(2.5, 4.5)),
mapping = aes(xintercept = x))
p + geom_x_margin_arrow(data = data.frame(x = c(2.5, 4.5)),
mapping = aes(xintercept = x),
sides="tb")
# }
Run the code above in your browser using DataLab