Adds a data point to the series.

        :param x: The numerical x value to be added.
        :param y: The numerical y value to be added.

def add_data_point(self, x, y):
        """Adds a data point to the series.

        :param x: The numerical x value to be added.
        :param y: The numerical y value to be added."""

        if not is_numeric(x):
            raise TypeError("x value must be numeric, not '%s'" % str(x))
        if not is_numeric(y):
            raise TypeError("y value must be numeric, not '%s'" % str(y))
        current_last_x = self._data[-1][0]
        self._data.append((x, y))
        if x < current_last_x:
            self._data = sorted(self._data, key=lambda k: k[0])