@@ -216,26 +216,16 @@ def __init__(self, *args, **kwargs):
216216 self .set_rotation_mode ("anchor" )
217217 self ._text_follow_ref_angle = True
218218
219- def _set_ref_angle (self , a ):
220- self ._ref_angle = a
221-
222- def _get_ref_angle (self ):
223- return self ._ref_angle
224-
225- def _get_text_ref_angle (self ):
219+ @property
220+ def _text_ref_angle (self ):
226221 if self ._text_follow_ref_angle :
227- return self ._get_ref_angle () + 90
222+ return self ._ref_angle + 90
228223 else :
229- return 0 # self.get_ref_angle()
230-
231- def _get_offset_ref_angle (self ):
232- return self ._get_ref_angle ()
224+ return 0
233225
234- def _set_offset_radius (self , offset_radius ):
235- self ._offset_radius = offset_radius
236-
237- def _get_offset_radius (self ):
238- return self ._offset_radius
226+ @property
227+ def _offset_ref_angle (self ):
228+ return self ._ref_angle
239229
240230 _get_opposite_direction = {"left" : "right" ,
241231 "right" : "left" ,
@@ -249,14 +239,12 @@ def draw(self, renderer):
249239 # save original and adjust some properties
250240 tr = self .get_transform ()
251241 angle_orig = self .get_rotation ()
252- text_ref_angle = self ._get_text_ref_angle ()
253- offset_ref_angle = self ._get_offset_ref_angle ()
254- theta = np .deg2rad (offset_ref_angle )
255- dd = self ._get_offset_radius ()
242+ theta = np .deg2rad (self ._offset_ref_angle )
243+ dd = self ._offset_radius
256244 dx , dy = dd * np .cos (theta ), dd * np .sin (theta )
257245
258246 self .set_transform (tr + Affine2D ().translate (dx , dy ))
259- self .set_rotation (text_ref_angle + angle_orig )
247+ self .set_rotation (self . _text_ref_angle + angle_orig )
260248 super ().draw (renderer )
261249 # restore original properties
262250 self .set_transform (tr )
@@ -266,14 +254,12 @@ def get_window_extent(self, renderer):
266254 # save original and adjust some properties
267255 tr = self .get_transform ()
268256 angle_orig = self .get_rotation ()
269- text_ref_angle = self ._get_text_ref_angle ()
270- offset_ref_angle = self ._get_offset_ref_angle ()
271- theta = np .deg2rad (offset_ref_angle )
272- dd = self ._get_offset_radius ()
257+ theta = np .deg2rad (self ._offset_ref_angle )
258+ dd = self ._offset_radius
273259 dx , dy = dd * np .cos (theta ), dd * np .sin (theta )
274260
275261 self .set_transform (tr + Affine2D ().translate (dx , dy ))
276- self .set_rotation (text_ref_angle + angle_orig )
262+ self .set_rotation (self . _text_ref_angle + angle_orig )
277263 bbox = super ().get_window_extent (renderer ).frozen ()
278264 # restore original properties
279265 self .set_transform (tr )
@@ -294,7 +280,7 @@ class AxisLabel(AttributeCopier, LabelBase):
294280 def __init__ (self , * args , axis_direction = "bottom" , axis = None , ** kwargs ):
295281 self ._axis = axis
296282 self ._pad = 5
297- self ._extra_pad = 0
283+ self ._external_pad = 0 # in pixels
298284 LabelBase .__init__ (self , * args , ** kwargs )
299285 self .set_axis_direction (axis_direction )
300286
@@ -315,14 +301,6 @@ def get_pad(self):
315301 """
316302 return self ._pad
317303
318- def _set_external_pad (self , p ):
319- """Set external pad in pixels."""
320- self ._extra_pad = p
321-
322- def _get_external_pad (self ):
323- """Return external pad in pixels."""
324- return self ._extra_pad
325-
326304 def get_ref_artist (self ):
327305 # docstring inherited
328306 return self ._axis .get_label ()
@@ -378,19 +356,17 @@ def draw(self, renderer):
378356 if not self .get_visible ():
379357 return
380358
381- pad = renderer .points_to_pixels (self .get_pad ())
382- r = self ._get_external_pad () + pad
383- self ._set_offset_radius (r )
359+ self ._offset_radius = \
360+ self ._external_pad + renderer .points_to_pixels (self .get_pad ())
384361
385362 super ().draw (renderer )
386363
387364 def get_window_extent (self , renderer ):
388365 if not self .get_visible ():
389366 return
390367
391- pad = renderer .points_to_pixels (self .get_pad ())
392- r = self ._get_external_pad () + pad
393- self ._set_offset_radius (r )
368+ r = self ._external_pad + renderer .points_to_pixels (self .get_pad ())
369+ self ._offset_radius = r
394370
395371 bb = super ().get_window_extent (renderer )
396372
@@ -513,20 +489,19 @@ def _get_ticklabels_offsets(self, renderer, label_direction):
513489
514490 def draw (self , renderer ):
515491 if not self .get_visible ():
516- self ._axislabel_pad = self ._get_external_pad ()
492+ self ._axislabel_pad = self ._external_pad
517493 return
518494
519495 r , total_width = self ._get_ticklabels_offsets (renderer ,
520496 self ._axis_direction )
521497
522- pad = (self ._get_external_pad ()
523- + renderer .points_to_pixels (self .get_pad ()))
524- self ._set_offset_radius (r + pad )
498+ pad = self ._external_pad + renderer .points_to_pixels (self .get_pad ())
499+ self ._offset_radius = r + pad
525500
526501 for (x , y ), a , l in self ._locs_angles_labels :
527502 if not l .strip ():
528503 continue
529- self ._set_ref_angle ( a ) # + add_angle
504+ self ._ref_angle = a
530505 self .set_x (x )
531506 self .set_y (y )
532507 self .set_text (l )
@@ -541,20 +516,19 @@ def set_locs_angles_labels(self, locs_angles_labels):
541516 def get_window_extents (self , renderer ):
542517
543518 if not self .get_visible ():
544- self ._axislabel_pad = self ._get_external_pad ()
519+ self ._axislabel_pad = self ._external_pad
545520 return []
546521
547522 bboxes = []
548523
549524 r , total_width = self ._get_ticklabels_offsets (renderer ,
550525 self ._axis_direction )
551526
552- pad = self ._get_external_pad () + \
553- renderer .points_to_pixels (self .get_pad ())
554- self ._set_offset_radius (r + pad )
527+ pad = self ._external_pad + renderer .points_to_pixels (self .get_pad ())
528+ self ._offset_radius = r + pad
555529
556530 for (x , y ), a , l in self ._locs_angles_labels :
557- self ._set_ref_angle ( a ) # + add_angle
531+ self ._ref_angle = a
558532 self .set_x (x )
559533 self .set_y (y )
560534 self .set_text (l )
@@ -878,13 +852,12 @@ def _update_ticks(self, renderer):
878852
879853 dpi_cor = renderer .points_to_pixels (1. )
880854 if self .major_ticks .get_visible () and self .major_ticks .get_tick_out ():
881- self .major_ticklabels ._set_external_pad (
882- self .major_ticks ._ticksize * dpi_cor )
883- self .minor_ticklabels ._set_external_pad (
884- self .major_ticks ._ticksize * dpi_cor )
855+ ticklabel_pad = self .major_ticks ._ticksize * dpi_cor
856+ self .major_ticklabels ._external_pad = ticklabel_pad
857+ self .minor_ticklabels ._external_pad = ticklabel_pad
885858 else :
886- self .major_ticklabels ._set_external_pad ( 0 )
887- self .minor_ticklabels ._set_external_pad ( 0 )
859+ self .major_ticklabels ._external_pad = 0
860+ self .minor_ticklabels ._external_pad = 0
888861
889862 majortick_iter , minortick_iter = \
890863 self ._axis_artist_helper .get_tick_iterators (self .axes )
@@ -970,7 +943,7 @@ def _update_label(self, renderer):
970943 axislabel_pad = max (self .major_ticklabels ._axislabel_pad ,
971944 self .minor_ticklabels ._axislabel_pad )
972945
973- self .label ._set_external_pad ( axislabel_pad )
946+ self .label ._external_pad = axislabel_pad
974947
975948 xy , angle_tangent = \
976949 self ._axis_artist_helper .get_axislabel_pos_angle (self .axes )
@@ -980,7 +953,7 @@ def _update_label(self, renderer):
980953 angle_label = angle_tangent - 90
981954
982955 x , y = xy
983- self .label ._set_ref_angle ( angle_label + self ._axislabel_add_angle )
956+ self .label ._ref_angle = angle_label + self ._axislabel_add_angle
984957 self .label .set (x = x , y = y )
985958
986959 def _draw_label (self , renderer ):
0 commit comments