% Generated by roxygen2: do not edit by hand
% Please edit documentation in R/api-plotting-screening.R
\name{plot_rater_trajectory}
\alias{plot_rater_trajectory}
\title{Rater-severity trajectory across an ordered wave / occasion variable}
\usage{
plot_rater_trajectory(
  fits,
  facet = "Rater",
  ci_level = 0.95,
  preset = c("standard", "publication", "compact", "monochrome"),
  draw = TRUE
)
}
\arguments{
\item{fits}{A named list of \code{mfrm_fit} objects, one per wave. Names
become the x-axis labels in their supplied order. Fits are
assumed to have been placed on a common scale via anchor-linking
or an equivalent post-hoc transformation (see the caveat above).}

\item{facet}{Facet whose levels are tracked (default \code{"Rater"}).}

\item{ci_level}{Confidence level for the per-wave CI ribbons
drawn around each trajectory (default \code{0.95}).}

\item{preset}{Visual preset.}

\item{draw}{If \code{TRUE}, draw with base graphics.}
}
\value{
An \code{mfrm_plot_data} object whose \code{data} slot is a long
data.frame with \code{Wave}, \code{Level}, \code{Estimate}, \code{SE}, \code{CI_Lower},
\code{CI_Upper} columns.
}
\description{
Plots each rater's severity estimate across a user-supplied
ordering variable (e.g. \code{Session}, \code{Wave}, \code{AdminDate}), producing
one line per rater. When the ordering column is time-like (numeric
or date), the x-axis is drawn on that scale; otherwise the values
are rendered as discrete ordered categories. Useful for rater
training / drift feedback loops.
}
\section{Anchor-linking caveat}{

Each wave is fit independently under its own sum-to-zero
identification, so the per-wave severity logits live on separate
scales unless you actively link them. Before interpreting movement
across waves as rater drift, link the waves by either (i) holding
common anchors fixed across fits (see
\link{mfrmr_linking_and_dff} for the supported linking route), or
(ii) harmonizing the scale post-hoc with a Stocking-Lord type
transformation and reviewing the result via \code{\link[=plot_anchor_drift]{plot_anchor_drift()}}.
The trajectory plot itself does not perform linking; it only
visualizes the supplied fits on their as-fit scales.
}

\examples{
\donttest{
toy <- load_mfrmr_data("example_core")
fit_a <- fit_mfrm(toy, "Person", c("Rater", "Criterion"), "Score",
                  method = "JML", maxit = 30)
fit_b <- fit_mfrm(toy, "Person", c("Rater", "Criterion"), "Score",
                  method = "JML", maxit = 30)
p <- plot_rater_trajectory(list(T1 = fit_a, T2 = fit_b), draw = FALSE)
head(p$data$data)
# Look for: stable trajectories (small wave-to-wave shifts within
#   each rater's CI ribbon) once the waves are anchor-linked. A
#   rater whose line drifts >0.5 logits across waves is the typical
#   "calibration drift" signal. Without anchor linking the per-wave
#   logits are on different scales and the picture cannot be read
#   as drift; see the Anchor-linking caveat in the docstring.
}
}
\seealso{
\code{\link[=plot_anchor_drift]{plot_anchor_drift()}}, \link{mfrmr_linking_and_dff}
}
\concept{confidence intervals}
\concept{linking}
\concept{visual diagnostics}
