8000 ENH : add stale flag to _AxesBase · KelvinLi/matplotlib@2beb5f9 · GitHub
[go: up one dir, main page]

Skip to content

Commit 2beb5f9

Browse files
committed
ENH : add stale flag to _AxesBase
1 parent e3fb850 commit 2beb5f9

File tree

1 file changed

+27
-7
lines changed

1 file changed

+27
-7
lines changed

lib/matplotlib/axes/_base.py

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -474,6 +474,7 @@ def __setstate__(self, state):
474474
container = getattr(self, container_name)
475475
for artist in container:
476476
artist._remove_method = container.remove
477+
self.stale = True
477478

478479
def get_window_extent(self, *args, **kwargs):
479480
"""
@@ -754,6 +755,7 @@ def set_position(self, pos, which='both'):
754755
self._position.set(pos)
755756
if which in ('both', 'original'):
756757
self._originalPosition.set(pos)
758+
self.stale = True
757759

758760
def reset_position(self):
759761
"""Make the original position the active position"""
@@ -768,6 +770,7 @@ def set_axes_locator(self, locator):
768770
returns a bbox.
769771
"""
770772
self._axes_locator = locator
773+
self.stale = True
771774

772775
def get_axes_locator(self):
773776
"""
@@ -1083,6 +1086,7 @@ def set_aspect(self, aspect, adjustable=None, anchor=None):
10831086
self.set_adjustable(adjustable)
10841087
if anchor is not None:
10851088
self.set_anchor(anchor)
1089+
self.stale = True
10861090

10871091
def get_adjustable(self):
10881092
return self._adjustable
@@ -1099,6 +1103,7 @@ def set_adjustable(self, adjustable):
10991103
self._adjustable = adjustable
11001104
else:
11011105
raise ValueError('argument must be "box", or "datalim"')
1106+
self.stale = True
11021107

11031108
def get_anchor(self):
11041109
return self._anchor
@@ -1128,6 +1133,7 @@ def set_anchor(self, anchor):
11281133
else:
11291134
raise ValueError('argument must be among %s' %
11301135
', '.join(six.iterkeys(mtransforms.Bbox.coefs)))
1136+
self.stale = True
11311137

11321138
def get_data_ratio(self):
11331139
"""
@@ -1789,6 +1795,7 @@ def set_xmargin(self, m):
17891795
if m < 0 or m > 1:
17901796
raise ValueError("margin must be in range 0 to 1")
17911797
self._xmargin = m
1798+
self.stale = True
17921799

17931800
def set_ymargin(self, m):
17941801
"""
@@ -1802,6 +1809,7 @@ def set_ymargin(self, m):
18021809
if m < 0 or m > 1:
18031810
raise ValueError("margin must be in range 0 to 1")
18041811
self._ymargin = m
1812+
self.stale = True
18051813

18061814
def margins(self, *args, **kw):
18071815
"""
@@ -1867,6 +1875,7 @@ def set_rasterization_zorder(self, z):
18671875
zorder.
18681876
"""
18691877
self._rasterization_zorder = z
1878+
self.stale = True
18701879

18711880
def get_rasterization_zorder(self):
18721881
"""
@@ -2153,6 +2162,7 @@ def set_frame_on(self, b):
21532162
ACCEPTS: [ *True* | *False* ]
21542163
"""
21552164
self._frameon = b
2165+
self.stale = True
21562166

21572167
def get_axisbelow(self):
21582168
"""
@@ -2168,6 +2178,7 @@ def set_axisbelow(self, b):
21682178
ACCEPTS: [ *True* | *False* ]
21692179
"""
21702180
self._axisbelow = b
2181+
self.stale = True
21712182

21722183
@docstring.dedent_interpd
21732184
def grid(self, b=None, which='major', axis='both', **kwargs):
@@ -2415,10 +2426,12 @@ def tick_params(self, axis='both', **kwargs):
24152426
def set_axis_off(self):
24162427
"""turn off the axis"""
24172428
self.axison = False
2429+
self.stale = True
24182430

24192431
def set_axis_on(self):
24202432
"""turn on the axis"""
24212433
self.axison = True
2434+
self.stale = True
24222435

24232436
def get_axis_bgcolor(self):
24242437
"""Return the axis background color"""
@@ -2434,7 +2447,7 @@ def set_axis_bgcolor(self, color):
24342447

24352448
self._axisbg = color
24362449
self.patch.set_facecolor(color)
2437-
2450+
self.stale = True
24382451
# data limits, ticks, tick labels, and formatting
24392452

24402453
def invert_xaxis(self):
@@ -2582,7 +2595,7 @@ def set_xlim(self, left=None, right=None, emit=True, auto=False, **kw):
25822595
if (other.figure != self.figure and
25832596
other.figure.canvas is not None):
25842597
other.figure.canvas.draw_idle()
2585-
2598+
self.stale = True
25862599
return left, right
25872600

25882601
def get_xscale(self):< A93C /div>
@@ -2611,6 +2624,7 @@ def set_xscale(self, value, **kwargs):
26112624
self.xaxis._set_scale(value, **kwargs)
26122625
self.autoscale_view(scaley=False)
26132626
self._update_transScale()
2627+
self.stale = True
26142628

26152629
def get_xticks(self, minor=False):
26162630
"""Return the x ticks as a list of locations"""
@@ -2622,7 +2636,9 @@ def set_xticks(self, ticks, minor=False):
26222636
26232637
ACCEPTS: sequence of floats
26242638
"""
2625-
return self.xaxis.set_ticks(ticks, minor=minor)
2639+
ret = self.xaxis.set_ticks(ticks, minor=minor)
2640+
self.stale = True
2641+
return ret
26262642

26272643
def get_xmajorticklabels(self):
26282644
"""
@@ -2681,8 +2697,10 @@ def set_xticklabels(self, labels, fontdict=None, minor=False, **kwargs):
26812697
26822698
ACCEPTS: sequence of strings
26832699
"""
2684-
return self.xaxis.set_ticklabels(labels, fontdict,
2685-
minor=minor, **kwargs)
2700+
ret = self.xaxis.set_ticklabels(labels, fontdict,
2701+
minor=minor, **kwargs)
2702+
self.stale = True
2703+
return ret
26862704

26872705
def invert_yaxis(self):
26882706
"""
@@ -2830,7 +2848,7 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, **kw):
28302848
if (other.figure != self.figure and
28312849
other.figure.canvas is not None):
28322850
other.figure.canvas.draw_idle()
2833-
2851+
self.stale = True
28342852
return bottom, top
28352853

28362854
def get_yscale(self):
@@ -2859,6 +2877,7 @@ def set_yscale(self, value, **kwargs):
28592877
self.yaxis._set_scale(value, **kwargs)
28602878
self.autoscale_view(scalex=False)
28612879
self._update_transScale()
2880+
self.stale = True
28622881

28632882
def get_yticks(self, minor=False):
28642883
"""Return the y ticks as a list of locations"""
@@ -2875,7 +2894,8 @@ def set_yticks(self, ticks, minor=False):
28752894
*minor*: [ *False* | *True* ]
28762895
Sets the minor ticks if *True*
28772896
"""
2878-
return self.yaxis.set_ticks(ticks, minor=minor)
2897+
ret = self.yaxis.set_ticks(ticks, minor=minor)
2898+
return ret
28792899

28802900
def get_ymajorticklabels(self):
28812901
"""

0 commit comments

Comments
 (0)
0