plot_scores: Plot scores in different graphical interpretations

View source: R/plot_scores.R

plot_scoresR Documentation

Plot scores in different graphical interpretations



Plot scores of genotypes and environments in different graphical interpretations.

Biplots type 1 and 2 are well known in AMMI analysis. In the plot type 3, the scores of both genotypes and environments are plotted considering the response variable and the WAASB, an stability index that considers all significant principal component axis of traditional AMMI models or all principal component axis estimated with BLUP-interaction effects (Olivoto et al. 2019). Plot type 4 may be used to better understand the well known 'which-won-where' pattern, facilitating the recommendation of appropriate genotypes targeted for specific environments, thus allowing the exploitation of narrow adaptations.


  var = 1,
  type = 1,
  first = "PC1",
  second = "PC2",
  repel = TRUE,
  repulsion = 1,
  max_overlaps = 20,
  polygon = FALSE,
  title = TRUE,
  plot_theme = theme_metan(),
  axis.expand = 1.1,
  x.lim = NULL,
  y.lim = NULL,
  x.breaks = waiver(),
  y.breaks = waiver(),
  x.lab = NULL,
  y.lab = NULL,
  shape.gen = 21,
  shape.env = 23,
  size.shape.gen = 2.2,
  size.shape.env = 2.2,
  size.bor.tick = 0.1,
  size.tex.lab = 12,
  size.tex.gen = 3.5,
  size.tex.env = 3.5,
  size.line = 0.5,
  size.segm.line = 0.5,
  col.bor.gen = "black",
  col.bor.env = "black",
  col.line = "black",
  col.gen = "blue",
  col.env = "forestgreen",
  col.alpha.gen = 1,
  col.alpha.env = 1,
  col.segm.gen = transparent_color(),
  col.segm.env = "forestgreen",
  highlight = NULL,
  col.highlight = "red",
  col.alpha.highlight = 1,
  size.tex.highlight = 5.5,
  size.shape.highlight = 3.2,
  leg.lab = c("Env", "Gen"),
  line.type = "solid",
  line.alpha = 0.9,
  resolution = deprecated(),
  file.type = "png",
  export = FALSE, = NULL,
  width = 8,
  height = 7,
  color = TRUE,



An object fitted with the functions performs_ammi(), waas(), waas_means(), or waasb().


The variable to plot. Defaults to var = 1 the first variable of x.


type of biplot to produce

  • type = 1 The default. Produces an AMMI1 biplot (Y x PC1) to make inferences related to stability and productivity.

  • type = 2 Produces an AMMI2 biplot (PC1 x PC2) to make inferences related to the interaction effects. Use the arguments first or second to change the default IPCA shown in the plot.

  • type = 3 Valid for objects of class waas or waasb, produces a biplot showing the GY x WAASB.

  • type = 4 Produces a plot with the Nominal yield x Environment PC.

first, second

The IPCA to be shown in the first (x) and second (y) axis. By default, IPCA1 is shown in the x axis and IPCA2 in the y axis. For example, use second = "PC3" to shown the IPCA3 in the y axis.


If TRUE (default), the text labels repel away from each other and away from the data points.


Force of repulsion between overlapping text labels. Defaults to 1.


Exclude text labels that overlap too many things. Defaults to 20.


Logical argument. If TRUE, a polygon is drawn when type = 2.


Logical values (Defaults to TRUE) to include automatically generated titles


The graphical theme of the plot. Default is plot_theme = theme_metan(). For more details, see ggplot2::theme().


Multiplication factor to expand the axis limits by to enable fitting of labels. Default is 1.1.

x.lim, y.lim

The range of x and y axes, respectively. Default is NULL (maximum and minimum values of the data set). New values can be inserted as x.lim = c(x.min, x.max) or y.lim = c(y.min, y.max).

x.breaks, y.breaks

The breaks to be plotted in the x and y axes, respectively. Defaults to waiver() (automatic breaks). New values can be inserted, for example, as x.breaks = c(0.1, 0.2, 0.3) or x.breaks = seq(0, 1, by = 0.2)

x.lab, y.lab

The label of x and y axes, respectively. Defaults to NULL, i.e., each plot has a default axis label. New values can be inserted as x.lab = 'my label'.

shape.gen, shape.env

The shape for genotypes and environments indication in the biplot. Default is 21 (circle) for genotypes and 23 (diamond) for environments. Values must be between 21-25: 21 (circle), 22 (square), 23 (diamond), 24 (up triangle), and 25 (low triangle).

size.shape.gen, size.shape.env

The size of the shapes for genotypes and environments respectively. Defaults to 2.2.


The size of tick of shape. Default is 0.1. The size of the shape will be max(size.shape.gen, size.shape.env) + size.bor.tick

size.tex.lab, size.tex.gen, size.tex.env

The size of the text for axis labels (Defaults to 12), genotypes labels, and environments labels (Defaults to 3.5).


The size of the line that indicate the means in the biplot. Default is 0.5.


The size of the segment that start in the origin of the biplot and end in the scores values. Default is 0.5.

col.bor.gen, col.bor.env

The color of the shape's border for genotypes and environments, respectively.


The color of the line that indicate the means in the biplot. Default is 'gray'

col.gen, col.env

The shape color for genotypes (Defaults to 'blue') and environments ('forestgreen'). Must be length one or a vector of colors with the same length of the number of genotypes/environments.

col.alpha.gen, col.alpha.env

The alpha value for the color for genotypes and environments, respectively. Defaults to NA. Values must be between 0 (full transparency) to 1 (full color).

col.segm.gen, col.segm.env

The color of segment for genotypes (Defaults to transparent_color()) and environments (Defaults to 'forestgreen'), respectively. Valid arguments for plots with type = 1 or type = 2 graphics.


Genotypes/environments to be highlight in the plot. Defaults to NULL.


The color for shape/labels when a value is provided in highlight. Defaults to "red".


The alpha value for the color of the highlighted genotypes. Defaults to 1.


The size of the text for the highlighted genotypes. Defaults to 5.5.


The size of the shape for the highlighted genotypes. Defaults to 3.2.


The labs of legend. Default is Gen and Env.


The type of the line that indicate the means in the biplot. Default is 'solid'. Other values that can be attributed are: 'blank', no lines in the biplot, 'dashed', 'dotted', 'dotdash', 'longdash', and 'twodash'.


The alpha value that combine the line with the background to create the appearance of partial or full transparency. Default is 0.4. Values must be between '0' (full transparency) to '1' (full color).




The type of file to be exported. Currently recognises the extensions eps/ps, tex, pdf, jpeg, tiff, png (default), bmp, svg and wmf (windows only).


Export (or not) the plot. Default is FALSE. If TRUE, calls the ggplot2::ggsave() function.

The name of the file for exportation, default is NULL, i.e. the files are automatically named.


The width 'inch' of the plot. Default is 8.


The height 'inch' of the plot. Default is 7.


Should type 4 plot have colors? Default to TRUE.


Currently not used.


An object of class gg, ggplot.


Tiago Olivoto


Olivoto, T., A.D.C. L\'ucio, J.A.G. da silva, V.S. Marchioro, V.Q. de Souza, and E. Jost. 2019. Mean performance and stability in multi-environment trials I: Combining features of AMMI and BLUP techniques. Agron. J. 111:2949-2960. doi: 10.2134/agronj2019.03.0220

See Also



# AMMI model
model <- waas(data_ge,
             env = ENV,
             gen = GEN,
             rep = REP,
             resp = everything())

# GY x PC1 for variable GY (default plot)

# PC1 x PC2 (variable HM)
            polygon = TRUE,            # Draw a convex hull polygon
            var = "HM",                # or var = 2 to select variable
            highlight = c("G1", "G2"), # Highlight genotypes 2 and 3
            type = 2)                  # type of biplot

# PC3 x PC4 (variable HM)
# Change size of plot fonts and colors
# Minimal theme
           var = "HM",
           type = 2,
           first = "PC3",
           second = "PC4",
           col.gen = "black",
           col.env = "gray",
           col.segm.env = "gray",
           size.tex.gen = 5,
           size.tex.env = 2,
           size.tex.lab = 16,
           plot_theme = theme_metan_minimal())

# WAASB index
waasb_model <- waasb(data_ge, ENV, GEN, REP, GY)

# Highlight genotypes 2 and 8
            type = 3,
            highlight = c("G2", "G8"))

metan documentation built on March 7, 2023, 5:34 p.m.