geom_vector | R Documentation |
geom_vector()
renders arrows from the origin to points,
optionally with text radiating outward.
geom_vector(
mapping = NULL,
data = NULL,
stat = "identity",
position = "identity",
arrow = default_arrow,
lineend = "round",
linejoin = "mitre",
vector_labels = TRUE,
...,
label.colour = NULL,
label.color = NULL,
label.alpha = NULL,
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
|
arrow |
Specification for arrows, as created by |
lineend |
Line end style (round, butt, square). |
linejoin |
Line join style (round, mitre, bevel). |
vector_labels |
Logical; whether to include labels radiating outward from the vectors. |
... |
Additional arguments passed to |
label.colour , label.color , label.alpha |
Default aesthetics for 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 |
Vectors are positions relative to some common reference point, in this case the origin; they comprise direction and magnitude. Vectors are usually represented with arrows rather than markers (points).
Vectors are commonly used to represent numerical variables in biplots, as
by Gabriel (1971) and Greenacre (2010). Gardner & le Roux (2002) refer to
these as Gabriel biplots. This layer, with optional radiating text labels,
is adapted from ggbiplot()
in the off-CRAN extensions of the same name
(Vu, 2014; Telford, 2017; Gegzna, 2018).
A ggproto layer.
ggbiplot()
uses ggplot2::fortify()
internally to produce a single data
frame with a .matrix
column distinguishing the subjects ("rows"
) and
variables ("cols"
). The stat layers stat_rows()
and stat_cols()
simply
filter the data frame to one of these two.
The geom layers geom_rows_*()
and geom_cols_*()
call the corresponding
stat in order to render plot elements for the corresponding factor matrix.
geom_dims_*()
selects a default matrix based on common practice, e.g.
points for rows and arrows for columns.
geom_vector()
understands the following aesthetics (required aesthetics
are in bold):
x
y
alpha
colour
linetype
label
size
angle
hjust
vjust
family
fontface
lineheight
group
Gabriel KR (1971) "The biplot graphic display of matrices with application to principal component analysis". Biometrika 58(3), 453–467. \Sexpr[results=rd]{tools:::Rd_expr_doi("10.1093/biomet/58.3.453")}
Greenacre MJ (2010) Biplots in Practice. Fundacion BBVA, ISBN: 978-84-923846. https://www.fbbva.es/microsite/multivariate-statistics/biplots.html
Gardner S, le Roux N (2002) "Biplot Methodology for Discriminant Analysis Based upon Robust Methods and Principal Curves". Classification, Clustering, and Data Analysis: Recent Advances and Applications: 169–176. https://link.springer.com/chapter/10.1007/978-3-642-56181-8_18
Vincent Q. Vu (2014). ggbiplot: A 'ggplot2' based biplot. R package version
0.55. https://github.com/vqv/ggbiplot, experimental
branch
Richard J Telford (2017). ggbiplot: A 'ggplot2' based biplot. R package
version 0.6. https://github.com/richardjtelford/ggbiplot (fork),
experimental
branch
Vilmantas Gegzna (2018). ggbiplot: A 'ggplot2' based biplot. R package
version 0.55. https://github.com/forked-packages/ggbiplot (fork), experimental
branch
Other geom layers:
geom_axis()
,
geom_bagplot()
,
geom_interpolation()
,
geom_isoline()
,
geom_lineranges()
,
geom_origin()
,
geom_rule()
,
geom_text_radiate()
# multidimensional scaling of covariances
ability.cov$cov |>
cov2cor() |>
eigen() |> getElement("vectors") |>
as.data.frame() |>
transform(test = rownames(ability.cov$cov)) ->
ability_cor_eigen
ability_cor_eigen |>
ggplot(aes(-V1, V2, label = test)) +
coord_square() + theme_void() +
geom_vector(check_overlap = TRUE) +
scale_y_continuous(expand = expansion(mult = .2)) +
ggtitle("Ability and intelligence test covariances")
# multidimensional scaling of correlations
ability.cov$cov |>
eigen() |> getElement("vectors") |>
as.data.frame() |>
transform(test = rownames(ability.cov$cov)) ->
ability_cor_eigen
ability_cor_eigen |>
ggplot(aes(-V1, -V2, label = test)) +
coord_square() + theme_void() +
geom_vector(check_overlap = TRUE) +
geom_unit_circle() +
expand_limits(x = c(-1, 1), y = c(-1, 1)) +
ggtitle("Ability and intelligence test covariances")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.