MCPcopy Index your code
hub / github.com/matplotlib/matplotlib / _set_lim3d

Method _set_lim3d

lib/mpl_toolkits/mplot3d/axes3d.py:832–874  ·  view source on GitHub ↗

Set 3D axis limits.

(self, axis, lower=None, upper=None, *, emit=True,
                   auto=False, view_margin=None, axmin=None, axmax=None,
                   minpos=np.inf)

Source from the content-addressed store, hash-verified

830 lower, upper, view_margin)
831
832 def _set_lim3d(self, axis, lower=None, upper=None, *, emit=True,
833 auto=False, view_margin=None, axmin=None, axmax=None,
834 minpos=np.inf):
835 """
836 Set 3D axis limits.
837 """
838 if upper is None:
839 if np.iterable(lower):
840 lower, upper = lower
841 elif axmax is None:
842 upper = axis.get_view_interval()[1]
843 if lower is None and axmin is None:
844 lower = axis.get_view_interval()[0]
845 if axmin is not None:
846 if lower is not None:
847 raise TypeError("Cannot pass both 'lower' and 'min'")
848 lower = axmin
849 if axmax is not None:
850 if upper is not None:
851 raise TypeError("Cannot pass both 'upper' and 'max'")
852 upper = axmax
853 if np.isinf(lower) or np.isinf(upper):
854 raise ValueError(f"Axis limits {lower}, {upper} cannot be infinite")
855 if view_margin is None:
856 if mpl.rcParams['axes3d.automargin']:
857 view_margin = self._view_margin
858 else:
859 view_margin = 0
860 # Apply margin in transformed space to handle non-linear scales properly
861 if view_margin > 0 and hasattr(axis, '_scale') and axis._scale is not None:
862 transform = axis.get_transform()
863 inverse_trans = transform.inverted()
864 lower, upper = axis._scale.limit_range_for_scale(lower, upper, minpos)
865 lower_t, upper_t = transform.transform([lower, upper])
866 delta = (upper_t - lower_t) * view_margin
867 if np.isfinite(delta):
868 new_range = [lower_t - delta, upper_t + delta]
869 lower, upper = inverse_trans.transform(new_range)
870 else:
871 delta = (upper - lower) * view_margin
872 lower -= delta
873 upper += delta
874 return axis._set_lim(lower, upper, emit=emit, auto=auto)
875
876 def set_xlim(self, left=None, right=None, *, emit=True, auto=False,
877 view_margin=None, xmin=None, xmax=None):

Callers 3

set_xlimMethod · 0.95
set_ylimMethod · 0.95
set_zlimMethod · 0.95

Calls 6

_set_limMethod · 0.80
get_view_intervalMethod · 0.45
get_transformMethod · 0.45
invertedMethod · 0.45
limit_range_for_scaleMethod · 0.45
transformMethod · 0.45

Tested by

no test coverage detected