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

Skip to content

Commit 9d88b8c

Browse files
authored
Merge pull request #9308 from matplotlib/auto-backport-of-pr-9295
Backport PR #9295 on branch v2.1.x
2 parents ed96c22 + c5a1c48 commit 9d88b8c

File tree

2 files changed

+13
-3
lines changed

2 files changed

+13
-3
lines changed

lib/matplotlib/tests/test_text.py

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -441,3 +441,10 @@ def test_two_2line_texts(spacing1, spacing2):
441441
assert box1.height == box2.height
442442
else:
443443
assert box1.height != box2.height
444+
445+
446+
def test_nonfinite_pos():
447+
fig, ax = plt.subplots()
448+
ax.text(0, np.nan, 'nan')
449+
ax.text(np.inf, 0, 'inf')
450+
fig.canvas.draw()

lib/matplotlib/text.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@
2020
import matplotlib.artist as artist
2121
from matplotlib.artist import Artist
2222
from matplotlib.cbook import maxdict
23-
from matplotlib import docstring
23+
from matplotlib import docstring, verbose
2424
from matplotlib.font_manager import FontProperties
2525
from matplotlib.patches import FancyBboxPatch
2626
from matplotlib.patches import FancyArrowPatch, Rectangle
@@ -759,9 +759,12 @@ def draw(self, renderer):
759759
# position in Text, and dash position in TextWithDash:
760760
posx = float(textobj.convert_xunits(textobj._x))
761761
posy = float(textobj.convert_yunits(textobj._y))
762-
if not np.isfinite(posx) or not np.isfinite(posy):
763-
raise ValueError("posx and posy should be finite values")
764762
posx, posy = trans.transform_point((posx, posy))
763+
if not np.isfinite(posx) or not np.isfinite(posy):
764+
verbose.report("x and y are not finite values for text "
765+
"string '{}'. Not rendering "
766+
"text.".format(self.get_text()), 'helpful')
767+
return
765768
canvasw, canvash = renderer.get_canvas_width_height()
766769

767770
# draw the FancyBboxPatch

0 commit comments

Comments
 (0)