diff --git a/lib/matplotlib/legend.py b/lib/matplotlib/legend.py index a8c3781a70f2..6fe76fabd8e6 100644 --- a/lib/matplotlib/legend.py +++ b/lib/matplotlib/legend.py @@ -976,9 +976,11 @@ def get_title(self): 'Return the `.Text` instance for the legend title.' return self._legend_title_box._text - def get_window_extent(self, *args, **kwargs): + def get_window_extent(self, renderer=None): 'Return extent of the legend.' - return self._legend_box.get_window_extent(*args, **kwargs) + if renderer is None: + renderer = self.figure._cachedRenderer + return self._legend_box.get_window_extent(renderer=renderer) def get_tightbbox(self, renderer): """ diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py index 4f92f044fd6b..d508d6f41fc2 100644 --- a/lib/matplotlib/tests/test_legend.py +++ b/lib/matplotlib/tests/test_legend.py @@ -510,6 +510,17 @@ def test_legend_proper_window_extent(): assert pytest.approx(x01*2, 0.1) == x02 +def test_window_extent_cached_renderer(): + fig, ax = plt.subplots(dpi=100) + ax.plot(range(10), label='Aardvark') + leg = ax.legend() + leg2 = fig.legend() + fig.canvas.draw() + # check that get_window_extent will use the cached renderer + leg.get_window_extent() + leg2.get_window_extent() + + def test_legend_title_fontsize(): # test the title_fontsize kwarg fig, ax = plt.subplots() pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy