diff --git a/doc/api/next_api_changes/behavior/22254-DS.rst b/doc/api/next_api_changes/behavior/22254-DS.rst deleted file mode 100644 index 83e53ae60477..000000000000 --- a/doc/api/next_api_changes/behavior/22254-DS.rst +++ /dev/null @@ -1,5 +0,0 @@ -QuadMesh cursor data disabled by default -~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ -Showing the cursor data of a `.QuadMesh` is now disabled by default, as it has -significant performance issues with large meshes. To manually enable this -use :meth:`.QuadMesh.set_show_cursor_data`. diff --git a/doc/api/next_api_changes/behavior/22691-JMK.rst b/doc/api/next_api_changes/behavior/22691-JMK.rst new file mode 100644 index 000000000000..24519d97e371 --- /dev/null +++ b/doc/api/next_api_changes/behavior/22691-JMK.rst @@ -0,0 +1,6 @@ +QuadMesh mouseover defaults to False +~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + +New in 3.5, `.QuadMesh.get_cursor_data` allows display of data values +under the cursor. However, this can be very slow for large meshes, so +by `.QuadMesh.set_mouseover` defaults to *False*. \ No newline at end of file diff --git a/lib/matplotlib/collections.py b/lib/matplotlib/collections.py index e48fe55f51c3..1fe17f3e982e 100644 --- a/lib/matplotlib/collections.py +++ b/lib/matplotlib/collections.py @@ -1999,7 +1999,6 @@ def __init__(self, *args, **kwargs): self._shading = shading self._bbox = transforms.Bbox.unit() self._bbox.update_from_data_xy(self._coordinates.reshape(-1, 2)) - self._show_cursor_data = False # super init delayed after own init because array kwarg requires # self._coordinates and self._shading super().__init__(**kwargs) @@ -2198,23 +2197,7 @@ def draw(self, renderer): renderer.close_group(self.__class__.__name__) self.stale = False - def set_show_cursor_data(self, show_cursor_data): - """ - Set whether cursor data should be shown. - - Notes - ----- - This is set to `False` by default for new quad meshes. Showing cursor - data can have significant performance impacts for large meshes. - """ - self._show_cursor_data = show_cursor_data - - def get_show_cursor_data(self): - return self._show_cursor_data - def get_cursor_data(self, event): - if not self._show_cursor_data: - return contained, info = self.contains(event) if len(info["ind"]) == 1: ind, = info["ind"] diff --git a/lib/matplotlib/tests/test_collections.py b/lib/matplotlib/tests/test_collections.py index acca60fd01c1..2dffdf9cf893 100644 --- a/lib/matplotlib/tests/test_collections.py +++ b/lib/matplotlib/tests/test_collections.py @@ -7,7 +7,6 @@ import matplotlib as mpl import matplotlib.pyplot as plt -from matplotlib.backend_bases import MouseEvent import matplotlib.collections as mcollections import matplotlib.colors as mcolors import matplotlib.transforms as mtransforms @@ -1039,26 +1038,6 @@ def test_array_wrong_dimensions(): pc.update_scalarmappable() -def test_quadmesh_cursor_data(): - fig, ax = plt.subplots() - *_, qm = ax.hist2d( - np.arange(11)**2, 100 + np.arange(11)**2) # width-10 bins - - x, y = ax.transData.transform([1, 101]) - event = MouseEvent('motion_notify_event', fig.canvas, x, y) - - assert qm.get_show_cursor_data() is False - assert qm.get_cursor_data(event) is None - - qm.set_show_cursor_data(True) - assert qm.get_cursor_data(event) == 4 # (0**2, 1**2, 2**2, 3**2) - - # Outside the quadmesh bounds - x, y = ax.transData.transform([-1, 101]) - event = MouseEvent('motion_notify_event', fig.canvas, x, y) - assert qm.get_cursor_data(event) is None - - def test_get_segments(): segments = np.tile(np.linspace(0, 1, 256), (2, 1)).T lc = LineCollection([segments])