Plots latent variables and their corresponding coefficients (biplot).

# S3 method for gllvm
  biplot = FALSE,
  ind.spp = NULL,
  alpha = 0.5,
  main = NULL,
  which.lvs = c(1, 2),
  predict.region = FALSE,
  level = 0.95,
  jitter = FALSE,
  jitter.amount = 0.2,
  s.colors = 1,
  symbols = FALSE,
  cex.spp = 0.7,
  spp.colors = "blue",
  arrow.scale = 0.8, = TRUE,
  spp.arrows = NULL,
  cex.env = 0.7,
  lab.dist = 0.1,
  lwd.ellips = 0.5,
  col.ellips = 4,
  lty.ellips = 1,



an object of class 'gllvm'.


TRUE if both latent variables and their coefficients are plotted, FALSE if only latent variables.


the number of response variables (usually, species) to include on the biplot. The default is none, or all if biplot = TRUE.


a numeric scalar between 0 and 1 that is used to control the relative scaling of the latent variables and their coefficients, when constructing a biplot.


main title.


indices of two latent variables to be plotted if number of the latent variables is more than 2. A vector with length of two. Defaults to c(1,2).


logical, if TRUE prediction regions for the predicted latent variables are plotted, defaults to FALSE.


level for prediction regions.


if TRUE, jittering is applied on points.


numeric, positive value indicating an amount of jittering for each point, defaults to 0.2 (jitter range).


colors for sites


logical, if TRUE sites are plotted using symbols, if FALSE (default) site numbers are used


size of species labels in biplot


colors for sites, defaults to "blue"


positive value, to scale arrows

represent statistical uncertainty for arrows in constrained ordinatioon using confidence interval? Defaults to TRUE


plot species scores as arrows if outside of the range of the plot? Defaults to FALSE for linear response models and TRUE for quadratic response models.


size of labels for arrows in constrianed ordination


distance between label and arrow heads. Value between 0 and 1


line width for prediction ellipses. See graphical parameter lwd.


colors for prediction ellipses.


line type for prediction ellipses. See graphical parameter lty.


additional graphical arguments.


Function constructs a scatter plot of two latent variables, i.e. an ordination plot. Latent variables are re-rotated to their principal direction using singular value decomposition, so that the first plotted latent variable does not have to be the first latent variable in the model. If only one latent variable is in the fitted model, latent variables are plotted against their corresponding row indices. The latent variables are labeled using the row index of the response matrix y.

Coefficients related to latent variables are plotted in the same figure with the latent variables if biplot = TRUE. They are labelled using the column names of y. The number of latent variable coefficients to be plotted can be controlled by ind.spp. An argument alpha is used to control the relative scaling of the latent variables and their coefficients. If alpha = 0.5, the latent variables and their coefficients are on the same scale. For details for constructing a biplot, see Gabriel (1971).

Latent variable scores are always scaled by their estimated standard deviations, for plotting.

For a quadratic response model, species optima are plotted. Any species scores that are outside the range of the predicted site scores are not directly plotted, but their main direction is indicated with arrows instead. This ensures that the plot remains on a reasonable scale.

Effects of environmental variables in constrained ordination are indicated with arrows. If any of the arrows exceeds the range of the plot, arrows are scaled to 80 but so that the relative contribution of predictors is maintained. If standard errors are available in the provided model, the slopes of environmental variables for which the 95 are slightly less intensely coloured.


- If error is occurred when using ordiplot(), try full name of the function ordiplot.gllvm() as functions named 'ordiplot' might be found in other packages as well.


Gabriel, K. R. (1971). The biplot graphic display of matrices with application to principal component analysis. Biometrika, 58, 453-467.


Jenni Niku <>, Francis K.C. Hui


#'# Extract subset of the microbial data to be used as an example data(microbialdata) y <- microbialdata$Y[, order(colMeans(microbialdata$Y > 0), decreasing = TRUE)[21:40]] fit <- gllvm(y, family = poisson()) fit$logL
#> [1] -4242.667
ordiplot(fit, predict.region = TRUE)
if (FALSE) { #'## Load a dataset from the mvabund package data(antTraits) y <- as.matrix(antTraits$abund) fit <- gllvm(y, family = poisson()) # Ordination plot: ordiplot(fit) # Biplot with 10 species ordiplot(fit, biplot = TRUE, ind.spp = 10) }