HoldridgePlot()
creates a blank triangular plot, as
proposed by Holdridge (1947, 1967), onto which potential
evapotranspiration (PET) ratio and annual precipitation data can be
plotted (using the AddToHoldridge()
family of functions) in
order to interpret climatic life zones.
HoldridgePoints()
, HoldridgeText()
and
related functions allow data points to be added to an existing plot;
AddToHoldridge()
allows plotting using any of the standard
plotting functions.
HoldridgeBelts()
and HoldridgeHexagons()
plot interpretative lines and hexagons allowing plotted data to be
linked to interpreted climate settings.
# Load package and data
library("Ternary")
## The legacy packages maptools, rgdal, and rgeos, underpinning the sp package,
## which was just loaded, will retire in October 2023.
## Please refer to R-spatial evolution reports for details, especially
## https://r-spatial.org/r/2023/05/15/evolution4.html.
## It may be desirable to make the sf package available;
## package maintainers should consider adding sf to Suggests:.
## The sp package is now running under evolution status 2
## (status 2 uses the sf package in place of rgdal)
data(holdridge, holdridgeLifeZonesUp, package = "Ternary")
# Suppress plot margins
par(mar = c(0, 0, 0, 0))
# Create blank Holdridge plot
HoldridgePlot(hex.labels = holdridgeLifeZonesUp)
HoldridgeBelts()
# Plot data, shaded by latitude
HoldridgePoints(holdridge$PET, holdridge$Precipitation,
col = hcl.colors(91)[abs(holdridge$Latitude) + 1],
lwd = 2)
# Add legend to interpret shading
PlotTools::SpectrumLegend(
"topright", bty = "n", # No box
horiz = TRUE, # Horizontal
x.intersp = -0.5, # Squeeze in X direction
legend = paste0(seq(0, 90, 15), "°"),
palette = hcl.colors(91),
title = "Latitude"
)
Holdridge (1947), “Determination of world plant formations from simple climatic data”, Science 105:367–368.
Holdridge (1967), Life zone ecology. Tropical Science Center, San José.