Add pin at x, y location.

        :param x: array, list or float, specifying the location of the
            pin.
        :param y: array, list or float, specifying the location of the
            pin.
        :param text: the text of the pin label.
        :param location: the location of the pin relative to the data
            point.  Any location accepted by TikZ is allowed.
        :param relative_position: location of the data point as a relative
            number between 0 and 1.
        :param use_arrow: specifies whether to draw an arrow between the
            data point and the pin label text.
        :type use_arrow: boolean
        :param style: optional TikZ styles to apply (e.g. 'red').

        If x, y are arrays or lists, relative position is used to pick a
        point from the arrays.  A relative position of 0.0 will be the
        first point from the series, while 1.0 will be the last point.

def add_pin_at_xy(self, x, y, text, location='above right',
                      relative_position=.9, use_arrow=True, style=None):
        """Add pin at x, y location.

        :param x: array, list or float, specifying the location of the
            pin.
        :param y: array, list or float, specifying the location of the
            pin.
        :param text: the text of the pin label.
        :param location: the location of the pin relative to the data
            point.  Any location accepted by TikZ is allowed.
        :param relative_position: location of the data point as a relative
            number between 0 and 1.
        :param use_arrow: specifies whether to draw an arrow between the
            data point and the pin label text.
        :type use_arrow: boolean
        :param style: optional TikZ styles to apply (e.g. 'red').

        If x, y are arrays or lists, relative position is used to pick a
        point from the arrays.  A relative position of 0.0 will be the
        first point from the series, while 1.0 will be the last point.

        """
        if relative_position is None:
            if location == 'left':
                relative_position = 0.
            elif location == 'right':
                relative_position = 1.
            else:
                relative_position = .8

        x, y = self._calc_position_for_pin(x, y, relative_position)
        self.pin_list.append({'x': x, 'y': y, 'text': text,
                              'location': location,
                              'use_arrow': use_arrow,
                              'options': style})