% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/shape-metrics.R
\name{janusplot_shape_hierarchy}
\alias{janusplot_shape_hierarchy}
\title{Shape-category taxonomy table}
\usage{
janusplot_shape_hierarchy()
}
\value{
A data frame with 24 rows and columns \code{category},
\code{code}, \code{archetype}, \code{monotonic}, \code{linear}, \code{glyph}, \code{ascii},
\code{label}, \code{gloss}.
}
\description{
\ifelse{html}{\href{https://lifecycle.r-lib.org/articles/stages.html#experimental}{\figure{lifecycle-experimental.svg}{options: alt='[Experimental]'}}}{\strong{[Experimental]}}

Return the full janusplot shape taxonomy as a data frame with four
hierarchy columns plus presentation fields. The taxonomy is the
single source of truth consumed by the classifier, the cell
renderer, the legend plate, and the \code{janusplot_data()} output.

Hierarchy columns (finest → coarsest):
\describe{
\item{\code{category}}{24-way fine label (\code{linear_up}, \code{skewed_peak},
\code{bimodal}, …). Computed per cell by \code{\link[=janusplot]{janusplot()}}.}
\item{\code{code}}{Unique two-letter ASCII shorthand (safe on any
font or typesetting pipeline) — e.g. \code{lu} for \code{linear_up}.}
\item{\code{archetype}}{Seven-family grouping: \code{monotone_linear},
\code{monotone_curved}, \code{unimodal}, \code{wave}, \code{multimodal},
\code{chaotic}, \code{degenerate}.}
\item{\code{monotonic}}{Three-way coarse classification: \code{monotone}
/ \code{non_monotone} / \code{degenerate}.}
\item{\code{linear}}{Binary: \code{linear} / \code{non_linear} /
\code{degenerate}.}
}

The broader tiers (linear/non-linear, monotone/non-monotone) are
textbook calculus; the archetype layer maps cleanly to
shape-constrained regression vocabulary (Pya & Wood 2015;
Meyer 2008) and to dose-response shape categories (Calabrese
2008; Calabrese & Baldwin 2001). The \verb{(T, I)} dispatch
underlying each fine category is a coarsened Morse-theoretic
critical-point classification (Milnor 1963).
}
\examples{
tax <- janusplot_shape_hierarchy()
head(tax[, c("category", "code", "archetype", "monotonic", "linear")])
# Count how many categories live in each archetype
table(tax$archetype)
}
\references{
Calabrese, E. J. (2008). Hormesis: why it is important to
toxicology and toxicologists. \emph{Environmental Toxicology and
Chemistry}, \strong{27}(7), 1451–1474.

Meyer, M. C. (2008). Inference using shape-restricted regression
splines. \emph{Annals of Applied Statistics}, \strong{2}(3), 1013–1033.

Milnor, J. (1963). \emph{Morse Theory}. Princeton University Press.

Pya, N., & Wood, S. N. (2015). Shape constrained additive models.
\emph{Statistics and Computing}, \strong{25}(3), 543–559.
}
\seealso{
Other shape-metrics: 
\code{\link{janusplot_shape_cutoffs}()},
\code{\link{janusplot_shape_metrics}()}
}
\concept{shape-metrics}
