simopt.plots.terminal_progress

Terminal progress plot.

Module Contents

simopt.plots.terminal_progress.plot_terminal_progress(experiments: list[simopt.experiment.ProblemSolver], plot_type: simopt.plot_type.PlotType = PlotType.VIOLIN, normalize: bool = True, all_in_one: bool = True, plot_title: str | None = None, ext: str = '.png', save_as_pickle: bool = False, solver_set_name: str = 'SOLVER_SET') list[pathlib.Path]

Plots terminal progress as box or violin plots for solvers on a single problem.

Parameters:
  • experiments (list[ProblemSolver]) – ProblemSolver pairs for different solvers on a common problem.

  • plot_type (str, optional) – Type of plot to generate: “box” or “violin”. Defaults to “violin”.

  • normalize (bool, optional) – If True, normalize progress curves by optimality gaps. Defaults to True.

  • all_in_one (bool, optional) – If True, plot all curves in one figure. Defaults to True.

  • plot_title (str, optional) – Custom title to override the default. Used only if all_in_one is True.

  • ext (str, optional) – File extension for saved plots (e.g., “.png”). Defaults to “.png”.

  • save_as_pickle (bool, optional) – If True, save the plot as a pickle file. Defaults to False.

  • solver_set_name (str, optional) – Label for solver group in plot titles. Defaults to “SOLVER_SET”.

Returns:

List of file paths for the plots produced.

Return type:

list[str]

Raises:

ValueError – If an unsupported plot type is specified.