def bbox_artist(artist, renderer, props=None, fill=True): """ This is a debug function to draw a rectangle around the bounding box returned by get_window_extent of an artist, to test whether the artist is returning the correct bbox props is a dict of rectangle props with the additional property 'pad' that sets the padding around the bbox in points """ if props is None: props = {} props = props.copy() # don't want to alter the pad externally pad = props.pop('pad', 4) pad = renderer.points_to_pixels(pad) bbox = artist.get_window_extent(renderer) l, b, w, h = bbox.get_bounds() l -= pad / 2. b -= pad / 2. w += pad h += pad r = Rectangle( xy=(l, b), width=w, height=h, fill=fill, ) r.set_clip_on(False) r.update(props) r.draw(renderer)
def bbox_artist(artist, renderer, props=None, fill=True): """ This is a debug function to draw a rectangle around the bounding box returned by get_window_extent of an artist, to test whether the artist is returning the correct bbox props is a dict of rectangle props with the additional property 'pad' that sets the padding around the bbox in points """ if props is None: props = {} props = props.copy() # don't want to alter the pad externally pad = props.pop('pad', 4) pad = renderer.points_to_pixels(pad) bbox = artist.get_window_extent(renderer) l,b,w,h = bbox.bounds l-=pad/2. b-=pad/2. w+=pad h+=pad r = Rectangle(xy=(l,b), width=w, height=h, fill=fill, ) r.set_transform(transforms.IdentityTransform()) r.set_clip_on( False ) r.update(props) r.draw(renderer)