@@ -943,7 +943,7 @@ def set_tick_params(self, which='major', reset=False, **kwargs):
943
943
944
944
See Also
945
945
--------
946
- :meth:` .Axis.get_tick_params`
946
+ .Axis.get_tick_params
947
947
View the current style defaults for ticks, ticklabels, and
948
948
gridlines.
949
949
"""
@@ -988,6 +988,10 @@ def get_tick_params(self, which='major'):
988
988
which : {'major', 'minor'}, default: 'major'
989
989
The group of ticks to which the parameters are applied.
990
990
991
+ Returns
992
+ -------
993
+ dict on properties that deviate from the default
994
+
991
995
Notes
992
996
-----
993
997
This method returns the default values for styling *new* elements
@@ -998,11 +1002,13 @@ def get_tick_params(self, which='major'):
998
1002
"""
999
1003
_api .check_in_list (['major' , 'minor' ], which = which )
1000
1004
if which == 'major' :
1001
- return self ._major_tick_kw
1002
- return self ._minor_tick_kw
1005
+ return self ._translate_tick_params (
1006
+ self ._major_tick_kw , reverse = True
1007
+ )
1008
+ return self ._translate_tick_params (self ._minor_tick_kw , reverse = True )
1003
1009
1004
1010
@staticmethod
1005
- def _translate_tick_params (kw ):
1011
+ def _translate_tick_params (kw , reverse = False ):
1006
1012
"""
1007
1013
Translate the kwargs supported by `.Axis.set_tick_params` to kwargs
1008
1014
supported by `.Tick._apply_params`.
@@ -1013,9 +1019,12 @@ def _translate_tick_params(kw):
1013
1019
1014
1020
Returns a new dict of translated kwargs.
1015
1021
1016
- Note: The input *kwargs* are currently modified, but that's ok for
1017
- the only caller.
1022
+ Note: Use reverse=True to translate from those supported by
1023
+ `.Tick._apply_params` back to those supported by
1024
+ `.Axis.set_tick_params`.
1018
1025
"""
1026
+ kw_ = {** kw }
1027
+
1019
1028
# The following lists may be moved to a more accessible location.
1020
1029
allowed_keys = [
1021
1030
'size' , 'width' , 'color' , 'tickdir' , 'pad' ,
@@ -1040,19 +1049,27 @@ def _translate_tick_params(kw):
1040
1049
'labelright' : 'label2On' ,
1041
1050
'labeltop' : 'label2On' ,
1042
1051
}
1043
- kwtrans = {newkey : kw .pop (oldkey )
1044
- for oldkey , newkey in keymap .items () if oldkey in kw }
1045
- if 'colors' in kw :
1046
- c = kw .pop ('colors' )
1052
+ if reverse :
1053
+ kwtrans = {
1054
+ oldkey : kw_ .pop (newkey )
1055
+ for oldkey , newkey in keymap .items () if newkey in kw_
1056
+ }
1057
+ else :
1058
+ kwtrans = {
1059
+ newkey : kw_ .pop (oldkey )
1060
+ for oldkey , newkey in keymap .items () if oldkey in kw_
1061
+ }
1062
+ if 'colors' in kw_ :
1063
+ c = kw_ .pop ('colors' )
1047
1064
kwtrans ['color' ] = c
1048
1065
kwtrans ['labelcolor' ] = c
1049
1066
# Maybe move the checking up to the caller of this method.
1050
- for key in kw :
1067
+ for key in kw_ :
1051
1068
if key not in allowed_keys :
1052
1069
raise ValueError (
1053
1070
"keyword %s is not recognized; valid keywords are %s"
1054
1071
% (key , allowed_keys ))
1055
- kwtrans .update (kw )
1072
+ kwtrans .update (kw_ )
1056
1073
return kwtrans
1057
1074
1058
1075
def set_clip_path (self , clippath , transform = None ):
0 commit comments