R/tcsplot.R
, R/tcspoints.R
, R/tcsvol.R
tcsplot.Rd
Produces an interactive 3D plot of a tetrahedral colourspace using OpenGL capabilities.
Plots points in a tetrahedral colour space
tcsplot(
tcsdata,
size = 0.02,
alpha = 1,
col = "black",
vertexsize = 0.02,
achro = TRUE,
achrosize = 0.01,
achrocol = "grey",
lwd = 1,
lcol = "lightgrey",
new = FALSE,
hspin = FALSE,
vspin = FALSE,
floor = TRUE,
gamut = FALSE
)
tcspoints(tcsdata, size = 0.02, col = "black", alpha = 1)
tcsvol(
tcsdata,
type = c("convex", "alpha"),
avalue = "auto",
col = "black",
alpha = 0.2,
grid.alpha = 1,
grid = TRUE,
fill = TRUE,
lwd = 1
)
(required) a data frame, possibly a result from the
colspace()
or tcspace()
function, containing values for the 'x', 'y'
and 'z' coordinates as columns (labeled as such).
size of the points in the plot (defaults to 0.02)
transparency of points (or volume fill in tcsvol()
)
colour of the points in the plot (defaults to black)
size of the points at the vertices
should a point be plotted at the origin (defaults to TRUE
)?
size of the point at the origin when achro = TRUE
(defaults to 0.8
).
color of the point at the origin achro = TRUE
(defaults to
'grey'
).
graphical parameters for the edges of the tetrahedron.
should a new 3D plot be called (defaults to FALSE
)?
if TRUE
, the graphic will spin horizontally (around the 'z' axis)(defaults to FALSE
)
if TRUE
, the graphic will spin vertically (around the 'x' axis)(defaults to FALSE
)
if TRUE
, a reference xy plane is plotted under the tetrahedron (defaults to TRUE
)
logical. Should the polygon showing the possible colours given
visual system and illuminant used in the analysis (defaults to FALSE
).
This option currently only works when qcatch = Qi
.
accepts a vector of length 1 or 2 with 'p' for points and/or 'l' for lines from the point to the base of the tetrahedron.
if type = "alpha"
, which alpha parameter value should be used
to compute the alphashape. avalue = "auto"
(default) finds and use the
\(\alpha^*\) value as defined in Gruson (2020).
transparency of the volume polygon grid lines
if TRUE
, connects the polygon outlining the volume occupied by points (defaults to TRUE
)
if TRUE
, fills the volume occupied by points (WARNING: transparency
is not saved properly if exported using rgl.postscript
)(defaults to TRUE
).
tcsplot()
creates a 3D plot using functions of the package rgl,
based on openGL capabilities. Plot is interactive and can be manipulated with the mouse
(left button: rotate along 'z' axis; right button: rotate along 'x' axis;
third button: zoom).
tcspoints()
adds points to the plot. Points are currently plotted
only as spheres to maintain export capabilities.
tcsvol()
creates a 3D colour volume within a tcsplot
object.
Stoddard, M. C., & Prum, R. O. (2008). Evolution of avian plumage color in a tetrahedral color space: A phylogenetic analysis of new world buntings. The American Naturalist, 171(6), 755-776.
Endler, J. A., & Mielke, P. (2005). Comparing entire colour patterns as birds see them. Biological Journal Of The Linnean Society, 86(4), 405-431.
# For plotting
data(sicalis)
vis.sicalis <- vismodel(sicalis, visual = "avg.uv")
tcs.sicalis <- colspace(vis.sicalis, space = "tcs")
tcsplot(tcs.sicalis, size = 0.005)
rgl::rgl.postscript("testplot.pdf", fmt = "pdf")
#> Warning: Postscript conversion failed
rgl::rgl.snapshot("testplot.png")
# For adding points
patch <- rep(c("C", "T", "B"), 7)
tcs.crown <- subset(tcs.sicalis, "C")
tcs.breast <- subset(tcs.sicalis, "B")
tcsplot(tcs.crown, col = "blue")
tcspoints(tcs.breast, col = "red")
3D plot
# For plotting convex hull
tcsplot(tcs.sicalis, col = "blue", size = 0.005)
tcsvol(tcs.sicalis)