piel.visual.experimental
========================

.. py:module:: piel.visual.experimental

.. autoapi-nested-parse::

   By default, we want all of these plots to work based on an input of a `ExperimentData`.
   This is because, they contain the necessary metadata and data to generate the plots from the selected operating points.
   However, we also want the flexibility of creating plots from a given set of operating conditions within the larger set.
   As such, it is also necessary for this functionality to be included, and propagated into each of these functions.
   Only then, it will be much easier to generate the plots from the relevant operating points within the metadata.

   However, in terms of ease of API it would still make sense to provide a generic collection of measurements,
   and the corresponding metadata only directly to the plots.

   It would make sense to split this functionality into subsections or subfunctions for the goal of logically reusing code,
   whilst still having extensible flexibility. As such, it might, for example, be desired to provide a set of functionality for
   `ExperimentDataCollection` that operates onto each `ExperimentData`. Hence, it would make sense to have a set of plots
   according to the type of data input provided. As such, maybe it makes sense to have submodules of the corresponding
   plots rather than a large subset, with the functionality being submodule dependent.

   By having the plotting be implemented at multiple levels of data, then full parametrization can be achieved.


   Note that all the functions inside the ``experiment_data`` just take the raw data collection and does not perform extraction by default.



Submodules
----------

.. toctree::
   :maxdepth: 1

   /autoapi/piel/visual/experimental/auto/index
   /autoapi/piel/visual/experimental/dc/index
   /autoapi/piel/visual/experimental/frequency/index
   /autoapi/piel/visual/experimental/map/index
   /autoapi/piel/visual/experimental/oscilloscope/index
   /autoapi/piel/visual/experimental/propagation/index


Attributes
----------

.. autoapisummary::

   piel.visual.experimental.measurement_data_to_plot_map
   piel.visual.experimental.measurement_data_collection_to_plot_map
   piel.visual.experimental.measurement_data_collection_to_plot_suffix_map


Functions
---------

.. autoapisummary::

   piel.visual.experimental.auto_function_name_list_from_module
   piel.visual.experimental.auto_function_list_from_module
   piel.visual.experimental.auto_plot_from_measurement_data_collection
   piel.visual.experimental.auto_plot_from_measurement_data
   piel.visual.experimental.auto_plot_from_experiment_data


Package Contents
----------------

.. py:data:: measurement_data_to_plot_map

   This mapping creates an automatic relationship between the data collection and the plotting required.

.. py:data:: measurement_data_collection_to_plot_map

.. py:data:: measurement_data_collection_to_plot_suffix_map

.. py:function:: auto_function_name_list_from_module(module) -> list[str]

.. py:function:: auto_function_list_from_module(module) -> list[callable]

.. py:function:: auto_plot_from_measurement_data_collection(measurement_data_collection: piel.types.experimental.MeasurementDataCollectionTypes, plot_output_directory: piel.types.PathTypes = None, extra_plot_output_directories: list[piel.types.PathTypes] = None, measurement_data_collection_to_plot_map: dict = measurement_data_collection_to_plot_map, measurement_data_collection_to_plot_prefix_map: dict = measurement_data_collection_to_plot_suffix_map, **kwargs) -> tuple[list[tuple], list[piel.types.PathTypes]]

   This function will automatically plot the data from the `MeasurementDataCollection` provided.
   If there are more than one set of relevant plots for a given `MeasurementData`,
   it will generate a list of figures accordingly.


.. py:function:: auto_plot_from_measurement_data(measurement_data: piel.types.experimental.MeasurementDataTypes, **kwargs) -> list[tuple, piel.types.PathTypes]

   This function will automatically plot the data from the `MeasurementData` object provided.
   If there are more than one set of relevant plots for a given `MeasurementData`,
   it will generate a list of figures accordingly.


.. py:function:: auto_plot_from_experiment_data(experiment_data: piel.types.experimental.ExperimentData, plot_output_directory: piel.types.PathTypes = None, parametric: bool = False, **kwargs) -> tuple[list[tuple], list[piel.types.PathTypes]]

   This function will automatically plot the data from the `ExperimentData` object provided.


