@@ -1022,40 +1022,27 @@ def set_default_intervals(self):
1022
1022
# attribute, and the derived code below will check for that
1023
1023
# and use it if it's available (else just use 0..1)
1024
1024
1025
- def _set_lim (self , v0 , v1 , alt0 = None , alt1 = None , * ,
1026
- emit = True , auto , names = ("" , "" )):
1025
+ def _set_lim (self , v0 , v1 , * , emit = True , auto ):
1027
1026
"""
1028
1027
Set view limits.
1029
1028
1030
1029
This method is a helper for the Axes ``set_xlim``, ``set_ylim``, and
1031
- ``set_zlim`` methods. This docstring uses names corresponding to
1032
- ``set_xlim`` for simplicity.
1030
+ ``set_zlim`` methods.
1033
1031
1034
- *names* is the pair of the names of the first two parameters of the
1035
- Axes method (e.g., "left" and "right"). They are only used to generate
1036
- error messages; and can be empty if the limits are known to be valid.
1037
-
1038
- Other parameters are directly forwarded from the Axes limits setter:
1039
- *v0*, *v1*, *alt0*, and *alt1* map to *left*, *right*, *xmin*, and
1040
- *xmax* respectively; *emit* and *auto* are used as is.
1032
+ Parameters
1033
+ ----------
1034
+ v0, v1 : float
1035
+ The view limits. (Passing *v0* as a (low, high) pair is not
1036
+ supported; normalization must occur in the Axes setters.)
1037
+ emit : bool, default: True
1038
+ Whether to notify observers of limit change.
1039
+ auto : bool or None, default: False
1040
+ Whether to turn on autoscaling of the x-axis. True turns on, False
1041
+ turns off, None leaves unchanged.
1041
1042
"""
1042
- v0name , v1name = names # The value names.
1043
1043
name , = [name for name , axis in self .axes ._get_axis_map ().items ()
1044
1044
if axis is self ] # The axis name.
1045
1045
1046
- if v1 is None and np .iterable (v0 ):
1047
- v0 , v1 = v0
1048
- if alt0 is not None :
1049
- if v0 is not None :
1050
- raise TypeError (
1051
- f"Cannot pass both { v0name !r} and '{ name } lim'" )
1052
- v0 = alt0
1053
- if alt1 is not None :
1054
- if v1 is not None :
1055
- raise TypeError (
1056
- f"Cannot pass both { v1name !r} and '{ name } lim'" )
1057
- v1 = alt1
1058
-
1059
1046
self .axes ._process_unit_info ([(name , (v0 , v1 ))], convert = False )
1060
1047
v0 = self .axes ._validate_converted_limits (v0 , self .convert_units )
1061
1048
v1 = self .axes ._validate_converted_limits (v1 , self .convert_units )
@@ -1074,23 +1061,20 @@ def _set_lim(self, v0, v1, alt0=None, alt1=None, *,
1074
1061
# so only grab the limits if we really need them.
1075
1062
old0 , old1 = self .get_view_interval ()
1076
1063
if v0 <= 0 :
1077
- _api .warn_external (
1078
- f"Attempt to set non-positive { v0name } { name } lim on a "
1079
- f"log-scaled axis will be ignored." )
1064
+ _api .warn_external (f"Attempt to set non-positive { name } lim on "
1065
+ f"a log-scaled axis will be ignored." )
1080
1066
v0 = old0
1081
1067
if v1 <= 0 :
1082
- _api .warn_external (
1083
- f"Attempt to set non-positive { v1name } { name } lim on a "
1084
- f"log-scaled axis will be ignored." )
1068
+ _api .warn_external (f"Attempt to set non-positive { name } lim on "
1069
+ f"a log-scaled axis will be ignored." )
1085
1070
v1 = old1
1086
1071
if v0 == v1 :
1087
1072
_api .warn_external (
1088
- f"Attempting to set identical { v0name } == { v1name } == { v0 } "
1073
+ f"Attempting to set identical low and high { name } lims "
1089
1074
f"makes transformation singular; automatically expanding." )
1090
- reverse = v0 > v1
1075
+ reverse = bool ( v0 > v1 ) # explicit cast needed for python3.8+np.bool_.
1091
1076
v0 , v1 = self .get_major_locator ().nonsingular (v0 , v1 )
1092
1077
v0 , v1 = self .limit_range_for_scale (v0 , v1 )
1093
- # cast to bool to avoid bad interaction between python 3.8 and np.bool_
1094
1078
v0 , v1 = sorted ([v0 , v1 ], reverse = bool (reverse ))
1095
1079
1096
1080
self .set_view_interval (v0 , v1 , ignore = True )
@@ -1106,7 +1090,7 @@ def _set_lim(self, v0, v1, alt0=None, alt1=None, *,
1106
1090
for other in self .axes ._shared_axes [name ].get_siblings (self .axes ):
1107
1091
if other is not self .axes :
1108
1092
other ._get_axis_map ()[name ]._set_lim (
1109
- v0 , v1 , emit = False , auto = auto , names = names )
1093
+ v0 , v1 , emit = False , auto = auto )
1110
1094
if other .figure != self .figure :
1111
1095
other .figure .canvas .draw_idle ()
1112
1096
0 commit comments