multiBoxPlot

fun ReportBuilder.multiBoxPlot(dataMap: Map<String, DoubleArray>, caption: String? = null, xAxisLabel: String? = null, yAxisLabel: String? = null)(source)

Appends a MultiBoxPlot built from pre-assembled observation data.

Each entry in dataMap becomes one box on the plot: the key is the box label and the value is the array of per-replication observations. Statistic.boxPlotSummaries is called internally to convert the raw arrays into ksl.utilities.statistic.BoxPlotSummary objects required by MultiBoxPlot.

Nothing is emitted when dataMap is empty or when every array in dataMap is empty.

This is the foundational building block. Use it directly when working with data that does not come from MultipleComparisonAnalyzer, DesignedExperimentIfc, or ScenarioRunner, or when custom box labels are needed.

The constructed MultiBoxPlot inherits xLabel / yLabel from ksl.utilities.io.plotting.BasePlot whose defaults are "x" / "y". The caller can override either via xAxisLabel / yAxisLabel; when those are null (the default), this primitive applies the generic placeholders "Label" and "Value" so the rendered figure carries readable axis text even without a domain-aware caller. Domain wrappers (multipleComparisonBoxPlot, designedExperimentBoxPlot, scenarioRunnerBoxPlot) supply context-appropriate defaults of their own.

Parameters

dataMap

label → per-replication observations; must not be empty for a plot to be emitted

caption

optional plot caption shown below the figure

xAxisLabel

optional override for the x-axis label. Blank / null falls back to "Label".

yAxisLabel

optional override for the y-axis label. Blank / null falls back to "Value".