|>lda() objects to those handled by
reflect()ggvector(), exported, to draw labeled vectors
from a common origin using ggarrow::geom_arrow_segment().
ggbiplot() now uses this internally to draw variable
vectors and their labels, replacing the previous
geom_segment() + grid::arrow() code.
ggarrow is now a package dependency (Imports).ggbiplot() gains a varname.gap argument to
pull variable-vector arrowheads back (in mm) from their true endpoint,
e.g. to keep them clear of the correlation circle or of crowded labels.
Exposed on ggvector() as gap.ggvector()’s (and so ggbiplot()’s) default
arrow linewidth is now 0.9, down from
1.4 (which matched the shaft width of the old
grid::arrow()-based rendering). ggarrow’s
default arrow_head_wings() ornament reads visually heavier
than the old plain triangular arrowhead at the same linewidth, so
1.4 now looks noticeably thicker than the
pre-ggarrow arrows did; 0.9 was chosen to look
comparable. Use vector.args = list(linewidth = 1.4) to get
the old shaft weight back.ggbiplot() gains a vector.args argument: a
named list forwarded to the ggvector() call that draws the
variable-vector arrows,
e.g. list(arrow_head = ggarrow::arrow_head_line()) for a
different arrowhead shape. Anything not matched by a
ggvector() argument passes on to
ggarrow::geom_arrow_segment() (justify,
force_arrow, sep, distort,
…).ggbiplot gains geom.ind and
geom.var arguments for more flexible handling of the
geometries used to display the observation points and variable
labels.ggbiplot gains a clip argument to control
if points, labels, etc. are clipped to the axis limits.This is a modest upgrade to the initial release, adding a number of features.
ggbiplot() andggscreeplot()`reflect() now also reflects supplementary variables
from FactoMineR::PCA()ade4::dudi.pca()ggbiplot() gains an axis.title
argumentggscreeplot() gains color,
shape, linetype and linewidth
argumentsget_SVD() intended the simplify the interface to
various PCA functions.get_SVD() in ggbiplot() and
ggscreeplot()ggscreeplot()data(crime) used in README giving a more complete
example.geom_polygon() rather than geom_path()
for ellipses to allow them to be filled.var.factor argument to expand or reflect the
variable vectorsstat_ellipse()geom_polygon()) or
unfilled (geom_path())varname.color to replace fixed
muted("red")point.size argument