This function constructs a brackets guide primitive.
primitive_bracket(
key = "range_auto",
bracket = "line",
angle = waiver(),
oob = "squish",
drop_zero = TRUE,
pad_discrete = 0.4,
levels_brackets = NULL,
levels_text = NULL,
theme = NULL,
position = waiver()
)
A <PrimitiveBracket>
primitive guide that can be used inside other
guides.
A range key specification. See more information in the linked topic.
A bracket by providing one of the following:
A bracket <function>
, such as bracket_square
.
A <character[1]>
naming a bracket function without the
'bracket_
'-prefix, e.g. "square"
.
A two-column <matrix[n, 2]>
giving line coordinates for a bracket,
like those created by bracket functions, such as bracket_round()
.
A specification for the text angle. Compared to setting the angle
argument
in element_text()
, this argument uses some
heuristics to automatically pick the hjust
and vjust
that you
probably want. Can be one of the following:
NULL
to take angles and justification settings directly from the theme.
waiver()
to allow reasonable defaults in special
cases.
A <numeric[1]>
between -360 and 360 for the text angle in degrees.
A method for dealing with out-of-bounds (oob) ranges. Can be one
of "squish"
, "censor"
or "none"
.
A <logical[1]>
whether to drop near-zero width ranges
(TRUE
, default) or preserve them (FALSE
).
A <numeric[1]>
giving the amount ranges should be
extended when given as a discrete variable. This is applied after
the drop_zero
setting.
A list of <element_line>
objects to customise how
brackets appear at every level.
A list of <element_text>
objects to customise how
text appears at every level.
A <theme>
object to style the guide individually or
differently from the plot's theme settings. The theme
argument in the
guide overrides and is combined with the plot's theme.
A <character[1]>
giving the location of the guide. Can be one of "top"
,
"bottom"
, "left"
or "right"
.
Below are the theme options that determine the styling of this guide, which may differ depending on whether the guide is used in an axis or a legend context.
Common to both types is the following:
legendry.bracket
an <element_line>
for the
line used to draw the brackets.
legendry.backet.size
a <unit>
setting the space afforded
to a bracket.
axis.text.{x/y}.{position}
an <element_text>
for the text displayed over the brackets.
legend.text
an <element_text>
for the text
displayed over the brackets.
Other primitives:
primitive_box()
,
primitive_fence()
,
primitive_labels()
,
primitive_line()
,
primitive_segments()
,
primitive_spacer()
,
primitive_ticks()
,
primitive_title()
# A standard plot
p <- ggplot(mpg, aes(interaction(drv, year), displ)) +
geom_point()
key <- key_range_manual(c(2, 4), c(5, 6), c("A", "B"))
# Adding as secondary guides
p + guides(
x.sec = primitive_bracket(),
y.sec = primitive_bracket(key = key)
)
Run the code above in your browser using DataLab