Skip to content

Commit d31d4fa

Browse files
committed
share axes can take in an iterable axes
1 parent aadecd0 commit d31d4fa

File tree

1 file changed

+22
-16
lines changed

1 file changed

+22
-16
lines changed

lib/matplotlib/axes/_base.py

Lines changed: 22 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4352,27 +4352,33 @@ def _share_axes_asymmetric(A, B, shared_axes):
43524352
getattr(B, "_shared_{}_inv_axes".format(shared_axes)).add(A)
43534353

43544354
def _share_axes(self, axes, shared_axes, symmetric=True, transitive=True):
4355-
if symmetric:
4356-
self._share_axes_symmetric(self, axes, shared_axes)
4355+
if not iterable(axes):
4356+
axes_iter = [axes]
43574357
else:
4358-
self._share_axes_asymmetric(self, axes, shared_axes)
4358+
axes_iter = axes
43594359

4360-
if transitive:
4361-
sharedA = getattr(self, "_shared_{}_axes".format(shared_axes))
4362-
sharedB = getattr(axes, "_shared_{}_axes".format(shared_axes))
4360+
for axes in axes_iter:
4361+
if symmetric:
4362+
self._share_axes_symmetric(self, axes, shared_axes)
4363+
else:
4364+
self._share_axes_asymmetric(self, axes, shared_axes)
43634365

4364-
sharedDiffBA = sharedB - sharedA
4365-
sharedDiffAB = sharedA - sharedB
4366+
if transitive:
4367+
sharedA = getattr(self, "_shared_{}_axes".format(shared_axes))
4368+
sharedB = getattr(axes, "_shared_{}_axes".format(shared_axes))
43664369

4367-
if symmetric:
4368-
for ax in sharedDiffAB:
4369-
self._share_axes_symmetric(axes, ax, shared_axes)
4370+
sharedDiffBA = sharedB - sharedA
4371+
sharedDiffAB = sharedA - sharedB
43704372

4371-
for ax in sharedDiffBA:
4372-
self._share_axes_symmetric(self, ax, shared_axes)
4373-
else:
4374-
for ax in sharedDiffBA:
4375-
self._share_axes_asymmetric(self, ax, shared_axes)
4373+
if symmetric:
4374+
for ax in sharedDiffAB:
4375+
self._share_axes_symmetric(axes, ax, shared_axes)
4376+
4377+
for ax in sharedDiffBA:
4378+
self._share_axes_symmetric(self, ax, shared_axes)
4379+
else:
4380+
for ax in sharedDiffBA:
4381+
self._share_axes_asymmetric(self, ax, shared_axes)
43764382

43774383
def share_x_axes(self, axes, symmetric=True, transitive=True):
43784384
"""

0 commit comments

Comments
 (0)