Skip to content

Commit 7d87722

Browse files
authored
Merge pull request matplotlib#19858 from anntzer/unitsfinalize
Move Line2D units handling to Axes & deprecate "units finalize" signal.
2 parents 17a7bb1 + aa4b36c commit 7d87722

File tree

4 files changed

+10
-10
lines changed

4 files changed

+10
-10
lines changed
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
"units finalize" signal
2+
~~~~~~~~~~~~~~~~~~~~~~~
3+
This signal (previously emitted by Axis instances) is deprecated. Connect to
4+
"units" instead.

lib/matplotlib/axes/_base.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -652,7 +652,7 @@ def __init__(self, fig, rect,
652652
for name, axis in self._get_axis_map().items():
653653
axis.callbacks._pickled_cids.add(
654654
axis.callbacks.connect(
655-
'units finalize', self._unit_change_handler(name)))
655+
'units', self._unit_change_handler(name)))
656656

657657
rcParams = mpl.rcParams
658658
self.tick_params(
@@ -2402,6 +2402,8 @@ def _unit_change_handler(self, axis_name, event=None):
24022402
return functools.partial(
24032403
self._unit_change_handler, axis_name, event=object())
24042404
_api.check_in_list(self._get_axis_map(), axis_name=axis_name)
2405+
for line in self.lines:
2406+
line.recache_always()
24052407
self.relim()
24062408
self._request_autoscale_view(scalex=(axis_name == "x"),
24072409
scaley=(axis_name == "y"))

lib/matplotlib/cbook/__init__.py

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -201,6 +201,9 @@ def __setstate__(self, state):
201201
@_api.rename_parameter("3.4", "s", "signal")
202202
def connect(self, signal, func):
203203
"""Register *func* to be called when signal *signal* is generated."""
204+
if signal == "units finalize":
205+
_api.warn_deprecated(
206+
"3.5", name=signal, obj_type="signal", alternative="units")
204207
self._func_cid_map.setdefault(signal, {})
205208
proxy = _weak_or_strong_ref(func, self._remove_proxy)
206209
if proxy in self._func_cid_map[signal]:

lib/matplotlib/lines.py

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -628,15 +628,6 @@ def get_window_extent(self, renderer):
628628
bbox = bbox.padded(ms)
629629
return bbox
630630

631-
@Artist.axes.setter
632-
def axes(self, ax):
633-
# call the set method from the base-class property
634-
Artist.axes.fset(self, ax)
635-
if ax is not None:
636-
for axis in ax._get_axis_map().values():
637-
axis.callbacks._pickled_cids.add(
638-
axis.callbacks.connect('units', self.recache_always))
639-
640631
def set_data(self, *args):
641632
"""
642633
Set the x and y data.

0 commit comments

Comments
 (0)