| geom_rule | R Documentation |
geom_rule() renders segments through or orthogonally
translated from the origin.
geom_rule(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
axis_labels = TRUE,
axis_ticks = TRUE,
axis_text = TRUE,
by = NULL,
num = NULL,
snap_rule = TRUE,
tick_length = 0.025,
text_dodge = 0.03,
label_dodge = 0.03,
...,
axis.linewidth = sync(),
axis.linetype = sync(),
axis.colour = sync(),
axis.color = NULL,
axis.alpha = sync(),
label.size = sync(),
label.angle = 0,
label.hjust = sync(),
label.vjust = sync(),
label.family = sync(),
label.fontface = sync(),
label.colour = sync(),
label.color = NULL,
label.alpha = sync(),
tick.linewidth = 0.25,
tick.linetype = "solid",
tick.colour = sync(),
tick.color = NULL,
tick.alpha = sync(),
text.size = 2.6,
text.angle = 0,
text.hjust = sync(),
text.vjust = sync(),
text.family = sync(),
text.fontface = sync(),
text.colour = sync(),
text.color = NULL,
text.alpha = sync(),
parse = FALSE,
check_overlap = FALSE,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
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.
When using a
|
position |
A position adjustment to use on the data for this layer. This
can be used in various ways, including to prevent overplotting and
improving the display. The
|
axis_labels, axis_ticks, axis_text |
Logical; whether to include labels, tick marks, and text value marks along the axes. |
by, num |
Intervals between elements or number of elements; specify only one. |
snap_rule |
Logical; whether to snap rule segments to grid values. |
tick_length |
Numeric; the length of the tick marks, as a proportion of the minimum of the plot width and height. |
text_dodge |
Numeric; the orthogonal distance of tick mark text from the axis, as a proportion of the minimum of the plot width and height. |
label_dodge |
Numeric; the orthogonal distance of the axis label from the axis, as a proportion of the minimum of the plot width and height. |
... |
Additional arguments passed to |
axis.linewidth, axis.linetype, axis.colour, axis.color, axis.alpha |
Default aesthetics for axes. Set to NULL to inherit from the data's aesthetics. |
label.size, label.angle, label.hjust, label.vjust, label.family, label.fontface, label.colour, label.color, label.alpha |
Default aesthetics for labels. Set to NULL to inherit from the data's aesthetics. |
tick.linewidth, tick.linetype, tick.colour, tick.color, tick.alpha |
Default aesthetics for tick marks. Set to NULL to inherit from the data's aesthetics. |
text.size, text.angle, text.hjust, text.vjust, text.family, text.fontface, text.colour, text.color, text.alpha |
Default aesthetics for tick mark labels. Set to NULL to inherit from the data's aesthetics. |
parse |
If |
check_overlap |
If |
na.rm |
Passed to |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
As implemented here, a rule is just an axis that has a
fixed range, usually the limits of the data. geom_rule() defaults to
stat = "identity" to avoid the problem of
failing to pass referent data to the referential stat_rule(). Therefore,
the user must provide the lower and upper aesthetics, which are used as
euclidean lengths in the plotting window. Meanwhile, stat_rule() defaults
to geom = "rule"; see stat_rule() for details on this pairing.
A ggproto layer.
geom_rule() understands the following aesthetics (required aesthetics are
in bold):
x
y
lower
upper
yintercept or xintercept or xend and yend
linetype
linewidth
size
hjust
vjust
colour
alpha
label
family
fontface
center, scale
group
Other geom layers:
geom_axis(),
geom_bagplot(),
geom_isoline(),
geom_lineranges(),
geom_text_radiate(),
geom_vector()
USJudgeRatings %>%
subset(select = -c(1, 12)) %>%
dist(method = "maximum") %>%
cmdscale() %>%
as.data.frame() %>%
setNames(c("PCo1", "PCo2")) %>%
transform(name = rownames(USJudgeRatings)) ->
judge_mds
USJudgeRatings %>%
subset(select = c(CONT, RTEN)) %>%
setNames(c("contacts", "recommendation")) ->
judge_meta
lm(as.matrix(judge_meta) ~ as.matrix(judge_mds[, seq(2)])) %>%
getElement("coefficients") %>%
unname() %>% t() %>% as.data.frame() %>%
setNames(c("Intercept", "PCo1", "PCo2")) %>%
transform(variable = names(judge_meta)) ->
judge_lm
ggplot(judge_mds, aes(x = PCo1, y = PCo2)) +
coord_equal() +
theme_void() +
geom_text(aes(label = name), size = 3) +
stat_rule(
data = judge_lm, referent = judge_mds,
aes(center = Intercept, label = variable)
)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.