piel.visual.experimental.oscilloscope.measurement_data_collection
=================================================================

.. py:module:: piel.visual.experimental.oscilloscope.measurement_data_collection


Attributes
----------

.. autoapisummary::

   piel.visual.experimental.oscilloscope.measurement_data_collection.logger


Functions
---------

.. autoapisummary::

   piel.visual.experimental.oscilloscope.measurement_data_collection.plot_oscilloscope_signals_time


Module Contents
---------------

.. py:data:: logger

.. py:function:: plot_oscilloscope_signals_time(data_collection: piel.types.experimental.OscilloscopeMeasurementDataCollection, parameters_list: Optional[List] = None, xlabel: Union[str, piel.types.Unit] = None, ylabel: Union[str, piel.types.Unit] = None, figure_title: Optional[str] = None, create_parameters_tables: bool = True, axes_subtitle_list: Optional[List[str]] = None, label_per_axes: bool = False, label_style: Literal['label_per_axes', 'label_per_figure'] = 'label_per_figure', plot_kwargs: Optional[Dict[str, Any]] = None, figure_kwargs: Optional[Dict[str, Any]] = None, legend_kwargs: Optional[Dict[str, Any]] = None, rising_edges_kwargs: Optional[Dict[str, Any]] = None, smallest_range_s: tuple[float, float] = None, *args, **kwargs)

   Generates a series of plots representing oscilloscope waveforms over time, where each subplot corresponds
   to a measurement in the given data collection.

   ----------
   data_collection : OscilloscopeMeasurementDataCollection
       A collection of oscilloscope measurement data, containing multiple waveforms per measurement.

   parameters_list : List[str], optional
       A list of parameter labels for the subplots. Defaults to indices if None.

   measurement_section : List[str], optional
       List of sections of the measurement for further categorization.

   xlabel : str or piel.types.Unit, optional
       The label for the x-axis. If a `piel.types.Unit` object is passed, data correction is applied based on the unit.

   ylabel : str or piel.types.Unit, optional
       The label for the y-axis. If a `piel.types.Unit` object is passed, data correction is applied based on the unit.

   figure_title : str, optional
       The title of the figure. Defaults to the name of the data collection.

   create_parameters_tables : bool, optional
       If True, creates tables of parameters for each axis. Defaults to True.

   axes_subtitle_list : List[str], optional
       A list of subtitles for each axis.

   label_per_axes : bool, optional
       If True, the x and y labels will be set individually for each axis. Defaults to False.

   label_style : Literal["label_per_axes", "label_per_figure"], default="label_per_figure"
       Determines whether labels are applied per axes or per figure.

   plot_kwargs : dict, optional
       Customization options for plotting the waveforms (e.g., line styles, colors).

   figure_kwargs : dict, optional
       Customization options for the figure (e.g., figsize, dpi).

   legend_kwargs : dict, optional
       Customization options for the legend (e.g., location, fontsize).

   rising_edges_kwargs : dict, optional
       Customization options for plotting rising edges (e.g., linestyle, color).

   *args, **kwargs :
       Additional arguments for plot customization, figure saving, or debugging.

   Returns:
   -------
   :
   fig : matplotlib.figure.Figure
       The figure object containing the plots.

   axs : list of matplotlib.axes.Axes
       List of axes corresponding to the subplots.

   Notes:
   -----
   - The function handles multiple waveforms per measurement, plotting each waveform within its respective subplot.
   - If units are passed for `xlabel` or `ylabel`, a correction factor is applied to adjust the plotted data.
   - Parameter tables can be created for each subplot based on the `parameters_list`.
   - Rising edges can be optionally highlighted if `rising_edges_kwargs` is provided.


