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

Skip to content

Commit 35c4852

Browse files
QuLogicmeeseeksmachine
authored andcommitted
Backport PR #22301: FIX: repositioning axes labels: use get_window_extent instead for spines.
1 parent 20603ef commit 35c4852

2 files changed

Lines changed: 5 additions & 11 deletions

File tree

lib/matplotlib/axis.py

Lines changed: 5 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2086,8 +2086,7 @@ def _update_label_position(self, renderer):
20862086
if self.label_position == 'bottom':
20872087
try:
20882088
spine = self.axes.spines['bottom']
2089-
spinebbox = spine.get_transform().transform_path(
2090-
spine.get_path()).get_extents()
2089+
spinebbox = spine.get_window_extent()
20912090
except KeyError:
20922091
# use axes if spine doesn't exist
20932092
spinebbox = self.axes.bbox
@@ -2097,12 +2096,10 @@ def _update_label_position(self, renderer):
20972096
self.label.set_position(
20982097
(x, bottom - self.labelpad * self.figure.dpi / 72)
20992098
)
2100-
21012099
else:
21022100
try:
21032101
spine = self.axes.spines['top']
2104-
spinebbox = spine.get_transform().transform_path(
2105-
spine.get_path()).get_extents()
2102+
spinebbox = spine.get_window_extent()
21062103
except KeyError:
21072104
# use axes if spine doesn't exist
21082105
spinebbox = self.axes.bbox
@@ -2350,13 +2347,11 @@ def _update_label_position(self, renderer):
23502347
# get bounding boxes for this axis and any siblings
23512348
# that have been set by `fig.align_ylabels()`
23522349
bboxes, bboxes2 = self._get_tick_boxes_siblings(renderer=renderer)
2353-
23542350
x, y = self.label.get_position()
23552351
if self.label_position == 'left':
23562352
try:
23572353
spine = self.axes.spines['left']
2358-
spinebbox = spine.get_transform().transform_path(
2359-
spine.get_path()).get_extents()
2354+
spinebbox = spine.get_window_extent()
23602355
except KeyError:
23612356
# use axes if spine doesn't exist
23622357
spinebbox = self.axes.bbox
@@ -2369,14 +2364,13 @@ def _update_label_position(self, renderer):
23692364
else:
23702365
try:
23712366
spine = self.axes.spines['right']
2372-
spinebbox = spine.get_transform().transform_path(
2373-
spine.get_path()).get_extents()
2367+
spinebbox = spine.get_window_extent()
23742368
except KeyError:
23752369
# use axes if spine doesn't exist
23762370
spinebbox = self.axes.bbox
2371+
23772372
bbox = mtransforms.Bbox.union(bboxes2 + [spinebbox])
23782373
right = bbox.x1
2379-
23802374
self.label.set_position(
23812375
(right + self.labelpad * self.figure.dpi / 72, y)
23822376
)
-83 Bytes
Loading

0 commit comments

Comments
 (0)