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

Skip to content

Commit f2afc4c

Browse files
authored
Merge pull request #9718 from matplotlib/revert-8626-Axes-init-speedup
Revert "Axes.__init__ speedup"
2 parents 1636bed + 9e90756 commit f2afc4c

File tree

3 files changed

+10
-20
lines changed

3 files changed

+10
-20
lines changed

lib/matplotlib/axes/_base.py

Lines changed: 8 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -481,7 +481,6 @@ def __init__(self, fig, rect,
481481
""" % {'scale': ' | '.join(
482482
[repr(x) for x in mscale.get_scale_names()])}
483483
martist.Artist.__init__(self)
484-
self._in_init = True
485484
if isinstance(rect, mtransforms.Bbox):
486485
self._position = rect
487486
else:
@@ -579,8 +578,6 @@ def __init__(self, fig, rect,
579578
right=rcParams['ytick.right'] and rcParams['ytick.major.right'],
580579
which='major')
581580

582-
self._in_init = False
583-
584581
def __getstate__(self):
585582
# The renderer should be re-created by the figure, and then cached at
586583
# that point.
@@ -612,11 +609,11 @@ def get_window_extent(self, *args, **kwargs):
612609
def _init_axis(self):
613610
"move this out of __init__ because non-separable axes don't use it"
614611
self.xaxis = maxis.XAxis(self)
615-
self.spines['bottom'].register_axis(self.xaxis, _init=True)
616-
self.spines['top'].register_axis(self.xaxis, _init=True)
612+
self.spines['bottom'].register_axis(self.xaxis)
613+
self.spines['top'].register_axis(self.xaxis)
617614
self.yaxis = maxis.YAxis(self)
618-
self.spines['left'].register_axis(self.yaxis, _init=True)
619-
self.spines['right'].register_axis(self.yaxis, _init=True)
615+
self.spines['left'].register_axis(self.yaxis)
616+
self.spines['right'].register_axis(self.yaxis)
620617
self._update_transScale()
621618

622619
def set_figure(self, fig):
@@ -980,13 +977,10 @@ def cla(self):
980977
xaxis_visible = self.xaxis.get_visible()
981978
yaxis_visible = self.yaxis.get_visible()
982979

983-
# Don't clear during __init__ because they're already been cleared by
984-
# their own __init__.
985-
if not self._in_init:
986-
self.xaxis.cla()
987-
self.yaxis.cla()
988-
for name, spine in six.iteritems(self.spines):
989-
spine.cla()
980+
self.xaxis.cla()
981+
self.yaxis.cla()
982+
for name, spine in six.iteritems(self.spines):
983+
spine.cla()
990984

991985
self.ignore_existing_data_limits = True
992986
self.callbacks = cbook.CallbackRegistry()

lib/matplotlib/projections/polar.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -761,10 +761,8 @@ def __init__(self, *args, **kwargs):
761761
kwargs.pop('rlabel_position', 22.5))
762762

763763
Axes.__init__(self, *args, **kwargs)
764-
self._in_init = True
765764
self.set_aspect('equal', adjustable='box', anchor='C')
766765
self.cla()
767-
self._in_init = False
768766
__init__.__doc__ = Axes.__init__.__doc__
769767

770768
def cla(self):

lib/matplotlib/spines.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -164,17 +164,15 @@ def _ensure_position_is_set(self):
164164
self._position = ('outward', 0.0) # in points
165165
self.set_position(self._position)
166166

167-
def register_axis(self, axis, _init=False):
167+
def register_axis(self, axis):
168168
"""register an axis
169169
170170
An axis should be registered with its corresponding spine from
171171
the Axes instance. This allows the spine to clear any axis
172172
properties when needed.
173173
"""
174174
self.axis = axis
175-
if not _init and self.axis is not None:
176-
# Clear the axis when added, but *not* if the caller says it was
177-
# just created.
175+
if self.axis is not None:
178176
self.axis.cla()
179177
self.stale = True
180178

0 commit comments

Comments
 (0)