Skip to content

Commit d834b01

Browse files
committed
Only propagate minpos if it's been set.
This is mostly for the sake of third-party `Collection` subclasses that might have overridden `get_datalim`.
1 parent f9978ab commit d834b01

File tree

1 file changed

+9
-6
lines changed

1 file changed

+9
-6
lines changed

lib/matplotlib/axes/_base.py

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1991,12 +1991,15 @@ def add_collection(self, collection, autolim=True):
19911991
# pre-lazy-autoscale behavior, which is not really better).
19921992
self._unstale_viewLim()
19931993
datalim = collection.get_datalim(self.transData)
1994-
# By definition, p0 <= minpos <= p1, so minpos would be
1995-
# unnecessary. However, we add minpos to the call so that
1996-
# self.dataLim will update its own minpos. This ensures that log
1997-
# scales see the correct minimum.
1998-
self.update_datalim(
1999-
np.row_stack([datalim.p0, datalim.minpos, datalim.p1]))
1994+
points = datalim.get_points()
1995+
if not np.isinf(datalim.minpos).all():
1996+
# By definition, if minpos (minimum positive value) is set
1997+
# (i.e., non-inf), then min(points) <= minpos <= max(points),
1998+
# and minpos would be superfluous. However, we add minpos to
1999+
# the call so that self.dataLim will update its own minpos.
2000+
# This ensures that log scales see the correct minimum.
2001+
points = np.concatenate([points, [datalim.minpos]])
2002+
self.update_datalim(points)
20002003

20012004
self.stale = True
20022005
return collection

0 commit comments

Comments
 (0)