# Path: seapy/tools.py
# def plot(x, y, quantity, visible, yscale="linear"):
#     """
#     Plot `y` as function of `x` where `y` has quantity `quantity` and `x` is frequency :math:`f`.
#     
#     :param x: Array of values for the `x`-axis.
#     :param y: Array of values for the `y`-axis.
#     :param quantity: Quantity
#     :param visible: Array of booleans.
#     
#     :returns: Figure.
#     :type: :class:`matplotlib.figure.Figure`
#     
#     
#     """
#     mask = ~visible.astype(bool)
#     x = ma.masked_array(x, mask=mask).compressed()
#     y = (ma.masked_array(i, mask=mask).compressed() for i in y)
# 
#     try:
#         label = ATTRIBUTES[quantity]
#     except KeyError:
#         label = "Unknown quantity"
# 
#     fig = plt.figure()
#     ax = fig.add_subplot(111)
#     for i in y:
#         ax.scatter(x, i)
#     ax.set_xscale("log")
#     ax.set_yscale(yscale)
#     ax.set_xlabel("$f$ in Hz")
#     ax.set_ylabel(label)
#     ax.grid()
#     return fig


import abc
import math
import cmath
import numpy as np
import logging
import warnings
import pandas as pd
from weakref import WeakSet
from typing import Any, Dict, List, Union
from .tools import plot
        """
        return self.__dict__["enabled"]

    # @enabled.setter
    # def enabled(self, x):
    # if isinstance(x, bool):
    # self.__dict__['enabled'] = x

    @property
    def frequency(self):
        """
        Frequency.

        .. seealso:: :meth:`seapy.system.System.frequency`

        """
        return self.system.frequency

    # @property
    # def classname(self):
    # """Name of class of the object. This is an alias for ``obj.__class__.__name__``.
    # """
    # return self.__class__.__name__

    def plot(self, quantity, yscale="linear"):
        """Plot `quantity`.

        :seealso: :func:`seapy.tools.plot`

        """

# Path: seapy/tools.py
# def plot(x, y, quantity, visible, yscale="linear"):
#     """
#     Plot `y` as function of `x` where `y` has quantity `quantity` and `x` is frequency :math:`f`.
#     
#     :param x: Array of values for the `x`-axis.
#     :param y: Array of values for the `y`-axis.
#     :param quantity: Quantity
#     :param visible: Array of booleans.
#     
#     :returns: Figure.
#     :type: :class:`matplotlib.figure.Figure`
#     
#     
#     """
#     mask = ~visible.astype(bool)
#     x = ma.masked_array(x, mask=mask).compressed()
#     y = (ma.masked_array(i, mask=mask).compressed() for i in y)
# 
#     try:
#         label = ATTRIBUTES[quantity]
#     except KeyError:
#         label = "Unknown quantity"
# 
#     fig = plt.figure()
#     ax = fig.add_subplot(111)
#     for i in y:
#         ax.scatter(x, i)
#     ax.set_xscale("log")
#     ax.set_yscale(yscale)
#     ax.set_xlabel("$f$ in Hz")
#     ax.set_ylabel(label)
#     ax.grid()
#     return fig


# Path: seapy/base.py
import abc
import math
import cmath
import numpy as np
import logging
import warnings
import pandas as pd
from weakref import WeakSet
from typing import Any, Dict, List, Union
from .tools import plot

        """
        return self.__dict__["enabled"]

    # @enabled.setter
    # def enabled(self, x):
    # if isinstance(x, bool):
    # self.__dict__['enabled'] = x

    @property
    def frequency(self):
        """
        Frequency.

        .. seealso:: :meth:`seapy.system.System.frequency`

        """
        return self.system.frequency

    # @property
    # def classname(self):
    # """Name of class of the object. This is an alias for ``obj.__class__.__name__``.
    # """
    # return self.__class__.__name__

    def plot(self, quantity, yscale="linear"):
        """Plot `quantity`.

        :seealso: :func:`seapy.tools.plot`

        """

        return plot(