GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — ENH: Ignore empty text for tightbbox by scottshambaugh · Pull Request #31285 · matplotlib/matplotlib

Conversation

@scottshambaugh

@scottshambaugh scottshambaugh commented Mar 11, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

PR summary

This ignores empty or hidden text for tightbbox, dedicating more space to the plot in tight & constrained layouts. Some of the constrained layout images are larger for reasons I don't fully understand, but it's probably something to do with those invisible text bboxes being used to calculate internal padding.

Targeting the text-overhaul branch.

@QuLogic when I regenerate baseline images, it adds a much larger diff than expected. How are you handling those on this branch?

AI Disclosure

None.

PR checklist

  • [n/a] "closes #0000" is in the body of the PR description to link the related issue
  • new and changed code is tested
  • [n/a] Plotting related features are demonstrated in an example
  • [n/a] New Features and API Changes are noted with a directive and release note
  • [n/a] Documentation complies with general and docstring guidelines

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
@scottshambaugh
Ignore empty text for tightbbox
d772043
@scottshambaugh scottshambaugh changed the title Ignore empty text for tightbbox ENH: Ignore empty text for tightbbox Mar 11, 2026
@github-actions github-actions Bot added the topic: text label Mar 11, 2026
@QuLogic

QuLogic commented Mar 11, 2026

Copy link
Copy Markdown
Member

@QuLogic when I regenerate baseline images, it adds a much larger diff than expected. How are you handling those on this branch?

You have to start with the images from the text-overhaul-figures branch in #30161, either starting from that branch directly and rebasing a commit with just the changes you need, or just copying them in and tracking what you want to properly add to the commit.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@scottshambaugh
scottshambaugh marked this pull request as ready for review March 11, 2026 22:44
@scottshambaugh

scottshambaugh commented Mar 11, 2026

Copy link
Copy Markdown
Contributor Author

Makes sense, that worked. Images here updated - let me know if I should be retargeting those to text-overhaul-figures instead

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@QuLogic

QuLogic commented Mar 11, 2026

Copy link
Copy Markdown
Member

No need, I'll take care of updating that branch when this is approved.

scottshambaugh reacted with thumbs up emoji
All reactions
  • 👍 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@scottshambaugh scottshambaugh mentioned this pull request Mar 11, 2026
BUG: Fix text appearing far outside valid axis scale range #31061
Merged
2 tasks done
timhoffm
timhoffm approved these changes Mar 12, 2026
View reviewed changes
@QuLogic QuLogic added this to the v3.11.0 milestone Mar 12, 2026
@QuLogic QuLogic added this to Font and text overhaul Mar 12, 2026
@github-project-automation github-project-automation Bot moved this to Waiting for other PR in Font and text overhaul Mar 12, 2026
@QuLogic QuLogic moved this from Waiting for other PR to Ready for Review in Font and text overhaul Mar 12, 2026
@QuLogic
QuLogic force-pushed the text_tightbbox_empty branch from 5725832 to 8095b72 Compare March 12, 2026 20:07
@github-actions github-actions Bot added GUI: tk and removed topic: text labels Mar 12, 2026
@QuLogic
QuLogic force-pushed the text_tightbbox_empty branch from 8095b72 to d772043 Compare March 12, 2026 20:09
@github-actions github-actions Bot added topic: text and removed GUI: tk labels Mar 12, 2026
QuLogic
QuLogic approved these changes Mar 12, 2026
View reviewed changes
@QuLogic

QuLogic commented Mar 12, 2026

Copy link
Copy Markdown
Member

Sorry, accidentally pushed the wrong commit to strip out the test images from here. Should be good again, and ready for merging, as I've put the new images on the text-overhaul-figures branch.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@QuLogic
QuLogic merged commit 364c027 into matplotlib:text-overhaul Mar 12, 2026
45 of 59 checks passed

Uh oh!

There was an error while loading. Please reload this page.

@github-project-automation github-project-automation Bot moved this from Ready for Review to Done in Font and text overhaul Mar 12, 2026
@jklymak

jklymak commented Mar 12, 2026

Copy link
Copy Markdown
Member

I think your diagnosis was correct - remove_text just sets the strings to empty I think and their existence meant they still had anchor points that were causing the tightbbox to include them.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

wavebyrd pushed a commit to wavebyrd/matplotlib that referenced this pull request Mar 13, 2026
@QuLogic
Merge pull request matplotlib#31285 from scottshambaugh/text_tightbbo…
1614e53
…x_empty

ENH: Ignore empty text for tightbbox
QuLogic added a commit to QuLogic/matplotlib that referenced this pull request Apr 10, 2026
@QuLogic
Update test images for font/text overhaul
12d2a4d
This includes images changes for the following pull requests / commits:

* [Fix center of rotation with
  rotation_mode='anchor'](matplotlib#29199)
  (c44db77)
* [Remove ttconv backwards-compatibility
  code](matplotlib#30145)
  (8caff88)
* [Remove kerning_factor from
  tests](matplotlib#29816)
  (7b4d725)
* [Set text hinting to
  defaults](matplotlib#29816)
  (8255ae2)
* [Update FreeType to
  2.13.3](matplotlib#29816)
  (89c054d)
* [Implement text shaping with
  libraqm](matplotlib#30000)
  (b0ded3a,
  9813523)
* [Add language parameter to Text
  objects](matplotlib#29794)
  (7ce8eae)
* [Fix auto-sized glyphs with BaKoMa
  fonts](matplotlib#29936)
  (3ba2c13)
* [pdf: Improve text with characters outside embedded font
  limits](matplotlib#30512)
  (b70fb88,
  6cedcf7)
* [Prepare `CharacterTracker` for advanced font
  features](matplotlib#30608)
  (8274e17,
  70dc388,
  df670cf,
  ed5e074)
* [Add font feature API to
  Text](matplotlib#29695)
  (972a688)
* [Fix spacing in r"$\max
  f$"](matplotlib#30715)
  (4a99a83)
* [Implement libraqm for vector
  outputs](matplotlib#30607)
  (bd17cd4)
* [Drop the FT2Font intermediate
  buffer](matplotlib#30059)
  (9d7d7b4)
* [Rasterize dvi files without
  dvipng](matplotlib#30039)
  (7627118)
* [Update bundled FreeType and HarfBuzz
  libraries](matplotlib#30938)
  (a161658,
  9619bcc)
* [Fix positioning of wide mathtext
  accents](matplotlib#31069)
  (c2fa7ba)
* [Refactor RendererAgg.draw_{mathtext,text,tex} to use same base
  algorithm](matplotlib#31085)
  (931bcf3)
* [Implement TeX's fraction and script
  alignment](matplotlib#31046)
  (94ff452,
  4bfa0f9,
  1cd8510)
* [Fix confusion between text height and ascent in metrics
  calculations](matplotlib#31107)
  (60f2310)
* [mathtext: Fetch quad width & axis height from font
  metrics](matplotlib#31110)
  (692df3f,
  383028b)
* [mathtext: add mathnormal and distinguish between normal and italic
  family](matplotlib#31121)
  (a6913f3)
* [ENH: Ignore empty text for
  tightbbox](matplotlib#31285)
  (d772043)
* [Drop axis_artist tickdir image compat, due to text-overhaul
  merge](matplotlib#31281)
  (2057583)
* [text: Use font metrics to determine line
  heights](matplotlib#31291)
  (3ab6a27,
  d961462,
  97f4943)
* [ps/pdf: Override font height metrics to support AFM
  files](matplotlib#31371)
  (e0913d4)
* [TST: Cleanup back-compat code in tests touched by text
  overhaul](matplotlib#31295)
  (7c33379)
* [TST: Set tests touched by text overhaul to mpl20
  style](matplotlib#31300)
  (41c4d8d)
@QuLogic QuLogic mentioned this pull request Apr 10, 2026
Font and text overhaul #30161
Merged
4 tasks done
This was referenced Apr 19, 2026
Nightlies failures: text issues SciTools/cartopy#2666
Closed
FIX: ignore invisible gridliner labels in title adjustment SciTools/cartopy#2667
Merged
@ksunden ksunden mentioned this pull request Jun 12, 2026
[Bug]: ValueError ("cannot convert float NaN to integer") when trying to show horizontally-stacked subplots #31881
Closed
@binggao1230 binggao1230 mentioned this pull request Jun 12, 2026
Skip hidden y-axis offset text when positioning titles (fix #31881) #31885
Merged
rcomer pushed a commit that referenced this pull request Jun 14, 2026
@binggao1230
Skip hidden offset text when positioning Axes titles
80b56f9
The y-axis offset text of an inner subplot that shares its y axis is
hidden but still carries text. _update_title_position only checked
get_text(), so since #31285 (which makes a hidden text report a null,
non-finite tight bbox) the offset text pushed the title -- and the
subplot position computed by tight_layout -- to inf/NaN. Drawing then
raised "cannot convert float NaN to integer".

Only consider the offset text for title placement when it is visible.
oldrobotdev added a commit to oldrobotdev/PyPSA that referenced this pull request Jul 2, 2026
@oldrobotdev
fix(plot): exclude matplotlib 3.11.0, which crashes faceted plots
e9fe056
Faceted statistics plots with a shared y-axis and scientific offset text
crash at draw time on matplotlib 3.11.0 with 'ValueError: cannot convert
float NaN to integer'. This is an upstream regression
(matplotlib/matplotlib#31881, bisected to matplotlib/matplotlib#31285)
fixed by matplotlib/matplotlib#31885 and milestoned for 3.11.1, which is
not released yet. Exclude the broken version and add a regression test
covering the offset-text faceting scenario.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Reviewers

@QuLogic QuLogic QuLogic approved these changes
@timhoffm timhoffm timhoffm approved these changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

topic: text

Projects

Font and text overhaul
Status: Done

Milestone

v3.11.0

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@scottshambaugh @QuLogic @jklymak @timhoffm
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.