Plot report/table bundles with base R defaults
Usage
# S3 method for class 'mfrm_bundle'
plot(x, y = NULL, type = NULL, ...)Details
plot() dispatches by bundle class:
mfrm_unexpected->plot_unexpected()mfrm_fair_average->plot_fair_average()mfrm_displacement->plot_displacement()mfrm_interrater->plot_interrater_agreement()mfrm_facets_chisq->plot_facets_chisq()mfrm_bias_interaction->plot_bias_interaction()mfrm_bias_count-> bias-count plots (cell counts / low-count rates)mfrm_fixed_reports-> pairwise-contrast diagnosticsmfrm_visual_summaries-> warning/summary message count plotsmfrm_category_structure-> default base-R category plotsmfrm_category_curves-> overview (default), ogive, CCC / category probability / conditional probability, cumulative, total-information, and category-specific-information plotsmfrm_rating_scale-> category-counts/threshold plotsmfrm_measurable-> measurable-data coverage/count plotsmfrm_unexpected_after_bias-> post-bias unexpected-response plotsmfrm_output_bundle-> graph/score output-file diagnostics, includingtype = "score_se"when scorefile SE columns are availablemfrm_residual_pca-> residual PCA scree, parallel-analysis, or loadings views viaplot_residual_pca()mfrm_specifications-> facet/anchor/convergence plotsmfrm_data_quality-> dashboard, quality-flag, score-map, facet-pattern, and row/category/missing-row plotsmfrm_facets_fit_review-> FACETS-style df-sensitivity plotmfrm_fit_measures-> fit-status counts, Infit/Outfit scatter, measure intervals, and FACETS-style df-sensitivity plotsmfrm_iteration_report-> replayed-iteration trajectoriesmfrm_subset_connectivity-> subset-observation/connectivity plotsmfrm_facet_statistics-> facet statistic profile plotsmfrm_export_bundle/mfrm_summary_appendix_export-> export handoff plots (formats,artifact_groups,selection_tables,selection_handoff,selection_handoff_bundles,selection_handoff_roles,selection_handoff_role_sections,selection_bundles,selection_roles,selection_sections)
If a class is outside these families, use dedicated plotting helpers or custom base R graphics on component tables.
For mfrm_category_curves, pass preset = "monochrome" for
grayscale/line-type output. Cumulative .5 boundary lines are shown
only for interpretable in-range boundaries by default; use
boundary_status = "all" to show every finite boundary estimate or
boundary_status = "none" / show_cumulative_boundaries = FALSE to
suppress those vertical boundary lines. Use
plot_data(x, component = "plot_long") on a category-curve bundle when
you want one ggplot2/plotly-friendly table across all curve families.
Interpreting output
The returned object is plotting data (mfrm_plot_data) that captures
the selected route and reusable data; set draw = TRUE for immediate base graphics.
Typical workflow
Create bundle output (e.g.,
unexpected_response_table()).Inspect routing with
summary(bundle)if needed.Call
plot(bundle, type = ..., draw = FALSE)to obtain reusable plot data.
Examples
if (FALSE) { # \dontrun{
toy_full <- load_mfrmr_data("example_core")
toy_people <- unique(toy_full$Person)[1:12]
toy <- toy_full[toy_full$Person %in% toy_people, , drop = FALSE]
fit <- suppressWarnings(
fit_mfrm(toy, "Person", c("Rater", "Criterion"), "Score", method = "JML", maxit = 30)
)
t4 <- unexpected_response_table(fit, abs_z_min = 1.5, prob_max = 0.4, top_n = 5)
p <- plot(t4, draw = FALSE)
vis <- build_visual_summaries(fit, diagnose_mfrm(fit, residual_pca = "none"))
p_vis <- plot(vis, type = "comparison", draw = FALSE)
spec <- specifications_report(fit)
p_spec <- plot(spec, type = "facet_elements", draw = FALSE)
if (interactive()) {
plot(
t4,
type = "severity",
draw = TRUE,
main = "Unexpected Response Severity (Customized)",
palette = c(higher = "#d95f02", lower = "#1b9e77", bar = "#2b8cbe"),
label_angle = 45
)
plot(
vis,
type = "comparison",
draw = TRUE,
main = "Warning vs Summary Counts (Customized)",
palette = c(warning = "#cb181d", summary = "#3182bd"),
label_angle = 45
)
}
} # }