@@ -216,26 +216,16 @@ def __init__(self, *args, **kwargs):
216
216
self .set_rotation_mode ("anchor" )
217
217
self ._text_follow_ref_angle = True
218
218
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 ):
226
221
if self ._text_follow_ref_angle :
227
- return self ._get_ref_angle () + 90
222
+ return self ._ref_angle + 90
228
223
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
233
225
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
239
229
240
230
_get_opposite_direction = {"left" : "right" ,
241
231
"right" : "left" ,
@@ -249,14 +239,12 @@ def draw(self, renderer):
249
239
# save original and adjust some properties
250
240
tr = self .get_transform ()
251
241
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
256
244
dx , dy = dd * np .cos (theta ), dd * np .sin (theta )
257
245
258
246
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 )
260
248
super ().draw (renderer )
261
249
# restore original properties
262
250
self .set_transform (tr )
@@ -266,14 +254,12 @@ def get_window_extent(self, renderer):
266
254
# save original and adjust some properties
267
255
tr = self .get_transform ()
268
256
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
273
259
dx , dy = dd * np .cos (theta ), dd * np .sin (theta )
274
260
275
261
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 )
277
263
bbox = super ().get_window_extent (renderer ).frozen ()
278
264
# restore original properties
279
265
self .set_transform (tr )
@@ -294,7 +280,7 @@ class AxisLabel(AttributeCopier, LabelBase):
294
280
def __init__ (self , * args , axis_direction = "bottom" , axis = None , ** kwargs ):
295
281
self ._axis = axis
296
282
self ._pad = 5
297
- self ._extra_pad = 0
283
+ self ._external_pad = 0 # in pixels
298
284
LabelBase .__init__ (self , * args , ** kwargs )
299
285
self .set_axis_direction (axis_direction )
300
286
@@ -315,14 +301,6 @@ def get_pad(self):
315
301
"""
316
302
return self ._pad
317
303
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
-
326
304
def get_ref_artist (self ):
327
305
# docstring inherited
328
306
return self ._axis .get_label ()
@@ -378,19 +356,17 @@ def draw(self, renderer):
378
356
if not self .get_visible ():
379
357
return
380
358
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 ())
384
361
385
362
super ().draw (renderer )
386
363
387
364
def get_window_extent (self , renderer ):
388
365
if not self .get_visible ():
389
366
return
390
367
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
394
370
395
371
bb = super ().get_window_extent (renderer )
396
372
@@ -513,20 +489,19 @@ def _get_ticklabels_offsets(self, renderer, label_direction):
513
489
514
490
def draw (self , renderer ):
515
491
if not self .get_visible ():
516
- self ._axislabel_pad = self ._get_external_pad ()
492
+ self ._axislabel_pad = self ._external_pad
517
493
return
518
494
519
495
r , total_width = self ._get_ticklabels_offsets (renderer ,
520
496
self ._axis_direction )
521
497
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
525
500
526
501
for (x , y ), a , l in self ._locs_angles_labels :
527
502
if not l .strip ():
528
503
continue
529
- self ._set_ref_angle ( a ) # + add_angle
504
+ self ._ref_angle = a
530
505
self .set_x (x )
531
506
self .set_y (y )
532
507
self .set_text (l )
@@ -541,20 +516,19 @@ def set_locs_angles_labels(self, locs_angles_labels):
541
516
def get_window_extents (self , renderer ):
542
517
543
518
if not self .get_visible ():
544
- self ._axislabel_pad = self ._get_external_pad ()
519
+ self ._axislabel_pad = self ._external_pad
545
520
return []
546
521
547
522
bboxes = []
548
523
549
524
r , total_width = self ._get_ticklabels_offsets (renderer ,
550
525
self ._axis_direction )
551
526
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
555
529
556
530
for (x , y ), a , l in self ._locs_angles_labels :
557
- self ._set_ref_angle ( a ) # + add_angle
531
+ self ._ref_angle = a
558
532
self .set_x (x )
559
533
self .set_y (y )
560
534
self .set_text (l )
@@ -878,13 +852,12 @@ def _update_ticks(self, renderer):
878
852
879
853
dpi_cor = renderer .points_to_pixels (1. )
880
854
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
885
858
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
888
861
889
862
majortick_iter , minortick_iter = \
890
863
self ._axis_artist_helper .get_tick_iterators (self .axes )
@@ -970,7 +943,7 @@ def _update_label(self, renderer):
970
943
axislabel_pad = max (self .major_ticklabels ._axislabel_pad ,
971
944
self .minor_ticklabels ._axislabel_pad )
972
945
973
- self .label ._set_external_pad ( axislabel_pad )
946
+ self .label ._external_pad = axislabel_pad
974
947
975
948
xy , angle_tangent = \
976
949
self ._axis_artist_helper .get_axislabel_pos_angle (self .axes )
@@ -980,7 +953,7 @@ def _update_label(self, renderer):
980
953
angle_label = angle_tangent - 90
981
954
982
955
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
984
957
self .label .set (x = x , y = y )
985
958
986
959
def _draw_label (self , renderer ):
0 commit comments