diff --git a/lib/matplotlib/axes/_base.py b/lib/matplotlib/axes/_base.py index ff5aaf032f51..c2a4d2f42c81 100644 --- a/lib/matplotlib/axes/_base.py +++ b/lib/matplotlib/axes/_base.py @@ -3267,7 +3267,8 @@ def set_xlim(self, left=None, right=None, emit=True, auto=False, reverse = left > right left, right = self.xaxis.get_major_locator().nonsingular(left, right) left, right = self.xaxis.limit_range_for_scale(left, right) - left, right = sorted([left, right], reverse=reverse) + # cast to bool to avoid bad interaction between python 3.8 and np.bool_ + left, right = sorted([left, right], reverse=bool(reverse)) self.viewLim.intervalx = (left, right) if auto is not None: @@ -3649,7 +3650,8 @@ def set_ylim(self, bottom=None, top=None, emit=True, auto=False, reverse = bottom > top bottom, top = self.yaxis.get_major_locator().nonsingular(bottom, top) bottom, top = self.yaxis.limit_range_for_scale(bottom, top) - bottom, top = sorted([bottom, top], reverse=reverse) + # cast to bool to avoid bad interaction between python 3.8 and np.bool_ + bottom, top = sorted([bottom, top], reverse=bool(reverse)) self.viewLim.intervaly = (bottom, top) if auto is not None: diff --git a/lib/matplotlib/axis.py b/lib/matplotlib/axis.py index a4cdffc55e14..e23b5748cf7c 100644 --- a/lib/matplotlib/axis.py +++ b/lib/matplotlib/axis.py @@ -2156,7 +2156,8 @@ def get_minpos(self): def set_inverted(self, inverted): # docstring inherited a, b = self.get_view_interval() - self.axes.set_xlim(sorted((a, b), reverse=inverted), auto=None) + # cast to bool to avoid bad interaction between python 3.8 and np.bool_ + self.axes.set_xlim(sorted((a, b), reverse=bool(inverted)), auto=None) def set_default_intervals(self): # docstring inherited @@ -2463,7 +2464,8 @@ def get_minpos(self): def set_inverted(self, inverted): # docstring inherited a, b = self.get_view_interval() - self.axes.set_ylim(sorted((a, b), reverse=inverted), auto=None) + # cast to bool to avoid bad interaction between python 3.8 and np.bool_ + self.axes.set_ylim(sorted((a, b), reverse=bool(inverted)), auto=None) def set_default_intervals(self): # docstring inherited diff --git a/lib/mpl_toolkits/mplot3d/axes3d.py b/lib/mpl_toolkits/mplot3d/axes3d.py index 4202be9a1138..047234b365f5 100644 --- a/lib/mpl_toolkits/mplot3d/axes3d.py +++ b/lib/mpl_toolkits/mplot3d/axes3d.py @@ -626,7 +626,8 @@ def set_xlim3d(self, left=None, right=None, emit=True, auto=False, reverse = left > right left, right = self.xaxis.get_major_locator().nonsingular(left, right) left, right = self.xaxis.limit_range_for_scale(left, right) - left, right = sorted([left, right], reverse=reverse) + # cast to bool to avoid bad interaction between python 3.8 and np.bool_ + left, right = sorted([left, right], reverse=bool(reverse)) self.xy_viewLim.intervalx = (left, right) if auto is not None: