Skip to content

tesselle/isopleuros

Repository files navigation

isopleuros

R-CMD-check codecov CodeFactor Dependencies

r-universe CRAN VersionCRAN checks CRAN Downloads

Project Status: Active – The project has reached a stable, usable state and is being actively developed.

DOI

Overview

Ternary plots made simple.isopleurosallows to create ternary plots usinggraphics.It provides functions to display the data in the ternary space, to add or tune graphical elements and to display statistical summaries. It also includes common ternary diagrams useful for the archaeologist (e.g. soil texture charts, ceramic phase diagram).

isopleurosis a dependency-free package1designed to be as simple as possible. If you need finer tuning or more advanced features, you should consider theTernaryor ggternpackage.

To cite isopleuros in publications use:

Frerebeau N (2024). _isopleuros: Ternary Plots_. Université Bordeaux
Montaigne, Pessac, France. doi:10.5281/zenodo.7940389
<https://doi.org/10.5281/zenodo.7940389>, R package version 1.2.0,
<https://packages.tesselle.org/isopleuros/>.

A BibTeX entry for LaTeX users is

@Manual{,
author = {Nicolas Frerebeau},
title = {{isopleuros: Ternary Plots}},
year = {2024},
organization = {Université Bordeaux Montaigne},
address = {Pessac, France},
note = {R package version 1.2.0},
url = {https://packages.tesselle.org/isopleuros/},
doi = {10.5281/zenodo.7940389},
}

This package is a part of the tesselle project
<https:// tesselle.org>.

Installation

You can install the released version ofisopleurosfrom CRANwith:

install.packages("isopleuros")

And the development version fromGitHubwith:

#install.packages( "remotes" )
remotes::install_github("tesselle/isopleuros")

Usage

## Load package
library(isopleuros)
## Graphical parameters
par(mfrow=c(1,2),mar=c(0,0,0,0)+0.1)

## Set colors
col<-c("blue","red")

## Ternary plot
## (data from Aitchison 1986)
ternary_plot(
x=lava,
panel.first=ternary_grid(),
col=col[as.factor(lava$A>30)],
)

## Split data
groups<-split(lava,f=lava$A>30)

## Add tolerance ellipses
for(iinseq_along(groups)) {
ternary_tolerance(groups[[i]],level=0.975,lty=2,border=col[[i]])
}

## Density contours
ternary_plot(lava,panel.first=ternary_grid())
ternary_density(lava,n=500,nlevels=10)

## Install extra package (if needed)
#install.packages( "folio" )

## Data from Barrera and Velde 1989
data("verre",package="folio")

## Select data
coda<-verre[, c("Na2O","CaO","K2O","MgO","P2O5","Al2O3")]

## Ternary plots with marginal compositions
ternary_pairs(coda,col=as.factor(coda$Na2O>5))

## Graphical parameters
par(mfrow=c(2,2),mar=c(0,0,0,0)+0.1)

## Ceramic phase diagram
ternary_plot(NULL,axes=FALSE,ann=FALSE,frame.plot=TRUE)
triangle_phase_cas(symbol=TRUE,pch=16)

ternary_plot(NULL,xlab="CaO",ylab="Al2O3",zlab="SiO2")
triangle_phase_ceramic(symbol=TRUE,pch=16)

## HYPRES soil texture
ternary_plot(NULL,xlab="sand",ylab="silt",zlab="clay")
triangle_soil_hypres()

## USDA (1951) soil texture
ternary_plot(NULL,xlab="sand",ylab="silt",zlab="clay")
triangle_soil_usda(symbol=TRUE)

Contributing

Please note that theisopleurosproject is released with a Contributor Code of Conduct.By contributing to this project, you agree to abide by its terms.

Footnotes

  1. The only exception is theternary_contour()function for which theinterppackage is required, but is not installed by default.