geom_rule {gggda} | R Documentation |
Rulers through or offset from the origin
Description
geom_rule()
renders segments through or orthogonally
translated from the origin.
Usage
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.colour = NULL,
axis.color = NULL,
axis.alpha = NULL,
label.angle = 0,
label.colour = NULL,
label.color = NULL,
label.alpha = NULL,
tick.linewidth = 0.25,
tick.colour = NULL,
tick.color = NULL,
tick.alpha = NULL,
text.size = 2.6,
text.angle = 0,
text.hjust = 0.5,
text.vjust = 0.5,
text.family = NULL,
text.fontface = NULL,
text.colour = NULL,
text.color = NULL,
text.alpha = NULL,
parse = FALSE,
check_overlap = FALSE,
na.rm = FALSE,
show.legend = NA,
inherit.aes = TRUE
)
Arguments
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.colour , axis.color , axis.alpha |
Default aesthetics for axes. Set to NULL to inherit from the data's aesthetics. |
label.angle , label.colour , label.color , label.alpha |
Default aesthetics for labels. Set to NULL to inherit from the data's aesthetics. |
tick.linewidth , 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 |
Details
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.
Value
Aesthetics
geom_rule()
understands the following aesthetics (required aesthetics are
in bold):
-
x
-
y
-
lower
-
upper
-
yintercept
orxintercept
orxend
andyend
-
linetype
-
linewidth
-
size
-
hjust
-
vjust
-
colour
-
alpha
-
label
-
family
-
fontface
-
center
,scale
-
group
See Also
Other geom layers:
geom_axis()
,
geom_bagplot()
,
geom_isoline()
,
geom_lineranges()
,
geom_text_radiate()
,
geom_vector()
Examples
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)
)