| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
|
Milestoning for backporting, because this actually fixes a regression... |
Sorry, something went wrong.
|
I guess this runs afoul of #11971 (comment), but OTOH I can't think of anything better right now. |
Sorry, something went wrong.
…hedRenderer, if none found
…hedRenderer, if none found
…012-on-v2.2.x Backport PR #12012 on branch v2.2.x (FIX: fallback text renderer to fig._cachedRenderer, if none found)
…012-on-v3.0.x Backport PR #12012 on branch v3.0.x (FIX: fallback text renderer to fig._cachedRenderer, if none found)
| Back | FazBrowse Home | New Git URL |
PR Summary
Closes #10874. See also #11004, and #10881. This is a more general backstop than the ticking fixes being proposed in #10874.
If a text obejct is created, but never drawn, its renderer never gets set (self._renderer). Subsequnet calls to self.get_window_extent() that do not specify the renderer fail with RuntimeError('Cannot get window extent w/o renderer').
Here I propose that we fall back on the cached renderer for the figure.
Test code:
import matplotlib matplotlib.use('Agg') import matplotlib.pyplot as plt fig = plt.figure() ax = fig.add_subplot(111, frameon=True) ax.plot() plt.get_current_fig_manager().canvas.draw() for xtick in ax.get_xticklabels(): bb = xtick.get_window_extent()PR Checklist