From 2b552c2ee755a56e642fc686413ca92dd3d2e2bb Mon Sep 17 00:00:00 2001 From: Derek Homeier Date: Tue, 16 Jul 2024 15:57:54 +0200 Subject: [PATCH] Fix `axvspan.set_xy` call in `RangeMouseMode` for matplotlib 3.9 --- glue_qt/viewers/profile/mouse_mode.py | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) diff --git a/glue_qt/viewers/profile/mouse_mode.py b/glue_qt/viewers/profile/mouse_mode.py index 223f4aa35..0d090e2ea 100644 --- a/glue_qt/viewers/profile/mouse_mode.py +++ b/glue_qt/viewers/profile/mouse_mode.py @@ -1,6 +1,7 @@ from echo import CallbackProperty, delay_callback from glue.core.state_objects import State from glue.viewers.matplotlib.mouse_mode import MouseMode +from matplotlib.patches import Rectangle __all__ = ['NavigateMouseMode', 'RangeMouseMode'] @@ -155,11 +156,12 @@ def _update_artist(self, *args): else: self._lines[0].set_data([self.state.x_min, self.state.x_min], [0, 1]) self._lines[1].set_data([self.state.x_max, self.state.x_max], [0, 1]) - self._interval.set_xy([[self.state.x_min, 0], - [self.state.x_min, 1], - [self.state.x_max, 1], - [self.state.x_max, 0], - [self.state.x_min, 0]]) + if isinstance(self._interval, Rectangle): + self._interval.set_xy([self.state.x_min, self.state.x_max]) + else: + self._interval.set_xy([[self.state.x_min, 0], [self.state.x_min, 1], + [self.state.x_max, 1], [self.state.x_max, 0], + [self.state.x_min, 0]]) else: if self.state.x_min is not None and self.state.x_max is not None: self._lines = (self._axes.axvline(self.state.x_min, color=COLOR),