Example #1
0
 def connect_bbox(bbox1, bbox2, loc1, loc2=None):
     """
     Construct a `.Path` connecting corner *loc1* of *bbox1* to corner
     *loc2* of *bbox2*, where parameters behave as documented as for the
     `.BboxConnector` constructor.
     """
     if isinstance(bbox1, Rectangle):
         bbox1 = TransformedBbox(Bbox.unit(), bbox1.get_transform())
     if isinstance(bbox2, Rectangle):
         bbox2 = TransformedBbox(Bbox.unit(), bbox2.get_transform())
     if loc2 is None:
         loc2 = loc1
     x1, y1 = BboxConnector.get_bbox_edge_pos(bbox1, loc1)
     x2, y2 = BboxConnector.get_bbox_edge_pos(bbox2, loc2)
     return Path([[x1, y1], [x2, y2]])
Example #2
0
    def connect_bbox(bbox1, bbox2, loc1, loc2=None):
        """
        Helper function to obtain a Path from one bbox to another.

        Parameters
        ----------
        bbox1, bbox2 : `matplotlib.transforms.Bbox`
            Bounding boxes to connect.

        loc1 : {1, 2, 3, 4}
            Corner of *bbox1* to use. Valid values are::

                'upper right'  : 1,
                'upper left'   : 2,
                'lower left'   : 3,
                'lower right'  : 4

        loc2 : {1, 2, 3, 4}, optional
            Corner of *bbox2* to use. If None, defaults to *loc1*.
            Valid values are::

                'upper right'  : 1,
                'upper left'   : 2,
                'lower left'   : 3,
                'lower right'  : 4

        Returns
        -------
        path : `matplotlib.path.Path`
            A line segment from the *loc1* corner of *bbox1* to the *loc2*
            corner of *bbox2*.
        """
        if isinstance(bbox1, Rectangle):
            bbox1 = TransformedBbox(Bbox.unit(), bbox1.get_transform())
        if isinstance(bbox2, Rectangle):
            bbox2 = TransformedBbox(Bbox.unit(), bbox2.get_transform())
        if loc2 is None:
            loc2 = loc1
        x1, y1 = BboxConnector.get_bbox_edge_pos(bbox1, loc1)
        x2, y2 = BboxConnector.get_bbox_edge_pos(bbox2, loc2)
        return Path([[x1, y1], [x2, y2]])