uvisbox.Modules.CurveBoxplot.curve_boxplot_vis

Module Contents

uvisbox.Modules.CurveBoxplot.curve_boxplot_vis.PYVISTA_AVAILABLE = True
uvisbox.Modules.CurveBoxplot.curve_boxplot_vis.visualize_curve_boxplot(mesh_data, boxplot_style=None, ax=None)[source]

Visualize curve boxplot from mesh data.

This function creates a visualization of the curve boxplot using the mesh data output from the mesh pipeline. For 2D curves, it uses matplotlib. For 3D curves, it uses PyVista if available, otherwise falls back to matplotlib.

Parameters:
  • mesh_data (dict) – Dictionary containing mesh data with the following keys: - ‘percentile_meshes’: dict of percentile meshes - ‘median_curve’: median curve - ‘outliers’: outlier curves - ‘n_dims’: dimensionality (2 or 3)

  • boxplot_style (BoxplotStyleConfig, optional) – Configuration for the boxplot visualization including percentiles, colors, and median/outlier styling. If None, uses default configuration.

  • ax (matplotlib.axes.Axes or pyvista.Plotter, optional) – Axes or plotter to use for visualization. Can be: - matplotlib.axes.Axes for 2D or 3D matplotlib rendering - pyvista.Plotter for 3D PyVista rendering - None: creates appropriate visualization object automatically

Returns:

ax – The visualization object (matplotlib axes for 2D, PyVista plotter for 3D).

Return type:

matplotlib.axes.Axes or pyvista.Plotter

Examples

>>> import numpy as np
>>> from uvisbox.Modules.CurveBoxplot.curve_boxplot_stats import curve_boxplot_summary_statistics
>>> from uvisbox.Modules.CurveBoxplot.curve_boxplot_mesh import curve_boxplot_mesh
>>> from uvisbox.Modules.CurveBoxplot.curve_boxplot_vis import visualize_curve_boxplot
>>> from uvisbox.Core.CommonInterface import BoxplotStyleConfig
>>>
>>> # Generate synthetic curve data
>>> curves = np.random.randn(50, 100, 2).cumsum(axis=1)
>>>
>>> # Process through pipeline
>>> stats = curve_boxplot_summary_statistics(curves)
>>> mesh_data = curve_boxplot_mesh(stats)
>>>
>>> # Visualize
>>> ax = visualize_curve_boxplot(mesh_data)
>>>
>>> # Custom styling
>>> style = BoxplotStyleConfig(percentiles=[25, 50, 75], show_outliers=True)
>>> ax = visualize_curve_boxplot(mesh_data, boxplot_style=style)