multi Box Plot
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
label → per-replication observations; must not be empty for a plot to be emitted
optional plot caption shown below the figure
optional override for the x-axis label. Blank / null falls back to "Label".
optional override for the y-axis label. Blank / null falls back to "Value".