Skip to content

Commit c9ce08d

Browse files
authored
Merge pull request #25082 from meeseeksmachine/auto-backport-of-pr-25079-on-v3.7.x
Backport PR #25079 on branch v3.7.x (FIX: Only send one update signal when autoscaling norms)
2 parents bcb750c + fcdcbee commit c9ce08d

File tree

2 files changed

+11
-2
lines changed

2 files changed

+11
-2
lines changed

lib/matplotlib/colors.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1372,8 +1372,12 @@ def inverse(self, value):
13721372

13731373
def autoscale(self, A):
13741374
"""Set *vmin*, *vmax* to min, max of *A*."""
1375-
self.vmin = self.vmax = None
1376-
self.autoscale_None(A)
1375+
with self.callbacks.blocked():
1376+
# Pause callbacks while we are updating so we only get
1377+
# a single update signal at the end
1378+
self.vmin = self.vmax = None
1379+
self.autoscale_None(A)
1380+
self._changed()
13771381

13781382
def autoscale_None(self, A):
13791383
"""If vmin or vmax are not set, use the min/max of *A* to set them."""

lib/matplotlib/tests/test_colors.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1493,6 +1493,11 @@ def test_norm_callback():
14931493
norm.vmax = 5
14941494
assert increment.call_count == 2
14951495

1496+
# We only want autoscale() calls to send out one update signal
1497+
increment.call_count = 0
1498+
norm.autoscale([0, 1, 2])
1499+
assert increment.call_count == 1
1500+
14961501

14971502
def test_scalarmappable_norm_update():
14981503
norm = mcolors.Normalize()

0 commit comments

Comments
 (0)
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