.. _plotting: Plotting ======== PyProBE includes plotting methods that integrate directly with popular Python visualisation tools. Using a backend powered by `Pandas `_ and `matplotlib `_, you can call the :func:`~pyprobe.result.Result.plot` method on any :class:`~pyprobe.result.Result` object. For more interactive plotting, you can use install the optional dependency `hvPlot `_: .. code-block:: bash pip install 'PyProBE-Data[hvplot]' This enables the :func:`~pyprobe.result.Result.hvplot` method which creates interactive plots for visual inspection. The :func:`~pyprobe.result.Result.plot` and :func:`~pyprobe.result.Result.hvplot` interfaces are very similar. For example, the creation of a simple plot might look like: .. code-block:: python result = cell.procedure['Procedure Name'].experiment('Experiment Name').cycle(1) # for matplotlib result.plot(x='Time [s]', y='Voltage [V]') # for hvplot result.hvplot(x='Time [s]', y='Voltage [V]') PyProBE also includes a wrapper for the `Seaborn `_ package. This allows you to pass any :class:`~pyprobe.result.Result` object to the `data` argument of any seaborn method: .. code-block:: python from pyprobe.plot import seaborn as sns sns.scatterplot(result, x='Time [s]', y='Voltage [V]') Seaborn must be installed as an optional dependency: .. code-block:: bash pip install 'PyProBE-Data[seaborn]' All of these methods are light wrappers, meaning you can refer to the original package documentation for details on methods to customise your plots further. To get started with plotting, view the :doc:`example <../examples/plotting>`. .. footbibliography::