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