@@ -346,6 +346,11 @@ def _apply_params(self, **kwargs):
346
346
if k in _gridline_param_names }
347
347
self .gridline .set (** grid_kw )
348
348
349
+ if 'rotation_mode' in kwargs :
350
+ rotation_mode = kwargs .pop ('rotation_mode' )
351
+ self .label1 .set_rotation_mode (rotation_mode )
352
+ self .label2 .set_rotation_mode (rotation_mode )
353
+
349
354
def update_position (self , loc ):
350
355
"""Set the location of tick in data coords with scalar *loc*."""
351
356
raise NotImplementedError ('Derived must override' )
@@ -1043,12 +1048,11 @@ def get_tick_params(self, which='major'):
1043
1048
_api .check_in_list (['major' , 'minor' ], which = which )
1044
1049
if which == 'major' :
1045
1050
return self ._translate_tick_params (
1046
- self ._major_tick_kw , reverse = True
1047
- )
1051
+ self ._major_tick_kw , reverse = True )
1048
1052
return self ._translate_tick_params (self ._minor_tick_kw , reverse = True )
1049
1053
1050
- @staticmethod
1051
- def _translate_tick_params (kw , reverse = False ):
1054
+ @classmethod
1055
+ def _translate_tick_params (cls , kw , reverse = False ):
1052
1056
"""
1053
1057
Translate the kwargs supported by `.Axis.set_tick_params` to kwargs
1054
1058
supported by `.Tick._apply_params`.
@@ -1072,7 +1076,7 @@ def _translate_tick_params(kw, reverse=False):
1072
1076
'tick1On' , 'tick2On' , 'label1On' , 'label2On' ,
1073
1077
'length' , 'direction' , 'left' , 'bottom' , 'right' , 'top' ,
1074
1078
'labelleft' , 'labelbottom' , 'labelright' , 'labeltop' ,
1075
- 'labelrotation' ,
1079
+ 'labelrotation' ,'rotation_mode' ,
1076
1080
* _gridline_param_names ]
1077
1081
1078
1082
keymap = {
@@ -1089,11 +1093,21 @@ def _translate_tick_params(kw, reverse=False):
1089
1093
'labelright' : 'label2On' ,
1090
1094
'labeltop' : 'label2On' ,
1091
1095
}
1096
+ is_x_axis = cls .axis_name == 'x'
1092
1097
if reverse :
1093
- kwtrans = {
1094
- oldkey : kw_ .pop (newkey )
1095
- for oldkey , newkey in keymap .items () if newkey in kw_
1096
- }
1098
+ kwtrans = {}
1099
+ for oldkey , newkey in keymap .items ():
1100
+ if newkey in kw_ :
1101
+ if is_x_axis and newkey == 'label1On' :
1102
+ kwtrans ['labelbottom' ] = kw_ .pop (newkey )
1103
+ elif is_x_axis and newkey == 'tick1On' :
1104
+ kwtrans ['bottom' ] = kw_ .pop (newkey )
1105
+ elif is_x_axis and newkey == 'label2On' :
1106
+ kwtrans ['labeltop' ] = kw_ .pop (newkey )
1107
+ elif is_x_axis and newkey == 'tick2On' :
1108
+ kwtrans ['top' ] = kw_ .pop (newkey )
1109
+ else :
1110
+ kwtrans [oldkey ] = kw_ .pop (newkey )
1097
1111
else :
1098
1112
kwtrans = {
1099
1113
newkey : kw_ .pop (oldkey )
0 commit comments