Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit 06f0dc4

Browse files
committed
Make Table use Figure's cached renderer.
It doesn't seem like it needs to cache the renderer itself, since other artists get it from the figure in the same way.
1 parent b1af052 commit 06f0dc4

1 file changed

Lines changed: 4 additions & 6 deletions

File tree

lib/matplotlib/table.py

Lines changed: 4 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -278,8 +278,6 @@ def __init__(self, ax, loc=None, bbox=None, **kwargs):
278278

279279
self.set_clip_on(False)
280280

281-
self._cachedRenderer = None
282-
283281
def add_cell(self, row, col, *args, **kwargs):
284282
""" Add a cell to the table. """
285283
xy = (0, 0)
@@ -310,10 +308,9 @@ def draw(self, renderer):
310308
# Need a renderer to do hit tests on mouseevent; assume the last one
311309
# will do
312310
if renderer is None:
313-
renderer = self._cachedRenderer
311+
renderer = self.figure._cachedRenderer
314312
if renderer is None:
315313
raise RuntimeError('No renderer defined')
316-
self._cachedRenderer = renderer
317314

318315
if not self.get_visible():
319316
return
@@ -350,8 +347,9 @@ def contains(self, mouseevent):
350347

351348
# TODO: Return index of the cell containing the cursor so that the user
352349
# doesn't have to bind to each one individually.
353-
if self._cachedRenderer is not None:
354-
boxes = [self._cells[pos].get_window_extent(self._cachedRenderer)
350+
renderer = self.figure._cachedRenderer
351+
if renderer is not None:
352+
boxes = [self._cells[pos].get_window_extent(renderer)
355353
for pos in six.iterkeys(self._cells)
356354
if pos[0] >= 0 and pos[1] >= 0]
357355
bbox = Bbox.union(boxes)

0 commit comments

Comments
 (0)