The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

ggordiplots

R-CMD-check [Github All Releases])

The vegan package includes several functions for adding features to ordination plots: ordiarrows(), ordiellipse(), ordihull(), ordispider() and ordisurf(). This package adds these same features to ordination plots made with ggplot2. In addition, gg_ordibubble() sizes points relative to the value of an environmental variable.

The functions are written so that features from each can be combined in customized ordination plots.

The functions ord_labels() and scale_arrow() (used to ensure vector arrows fit within a plot) are exported to make it easier to generate custom ordination plots.

Installation

You can install the development version of ggordiplots from GitHub with:

# install.packages("devtools")
devtools::install_github("jfq3/ggordiplots")

You can install the latest release from CRAN with:

install.packages("ggordiplots")

Examples

Plot an ordination with ellipses around treatment group centroids (at distances of one standard deviation) with gg_ordiplot().

library(ggordiplots)
#> Loading required package: ggplot2
#> Loading required package: vegan
#> Loading required package: permute
#> Loading required package: lattice
#> This is vegan 2.6-4
#> Loading required package: glue
data("dune")
data("dune.env")
dune_bray <- vegdist(dune, method = "bray")
ord <- cmdscale(dune_bray, k = (nrow(dune) - 1), eig = TRUE, add = TRUE)
#> Warning in cmdscale(dune_bray, k = (nrow(dune) - 1), eig = TRUE, add = TRUE):
#> only 18 of the first 19 eigenvalues are > 0
plt1 <- gg_ordiplot(ord, groups = dune.env$Management, plot = FALSE)

plt1 is list with items named:

names(plt1)
#> [1] "df_ord"      "df_mean.ord" "df_ellipse"  "df_hull"     "df_spiders" 
#> [6] "plot"

The first 5 items are data frames for making plots. The last item is a ggplot:

plt1$plot

Fit a vector of Al concentrations to the ordination with gg_envfit().

Al <- as.data.frame(dune.env$A1)
colnames(Al) <- "Al"
plt2 <- gg_envfit(ord, env = Al, groups = dune.env$Management, plot = FALSE)
plt2$plot

Add ellipses from the first plot to the second plot. The resulting plot can be further customized using usual ggplot2 methods. For example, change the legend title.

plt2$plot +
  geom_path(data = plt1$df_ellipse, aes(x=x, y=y, color=Group)) +
  guides(color=guide_legend(title="Management")) # Change legend title

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.