Closed
Description
Bug report
Bug summary
When on the nbagg backend if you stop moving the mouse the multicursor will disappear. The same example works fine on the qt backend.
Additionally I noticed that when I add the multicursor my cpu usage jumps and the kernel busy indicator constantly flashes on and off.
Showing the plot without the multicursor:
and with the multicursor (just displaying, not interacting with the plot):
That usage is pretty stable and my laptop's fan goes wild.
The issue with the dissappearing was originally noticed by @ipcoder in matplotlib/ipympl#306
Code for reproduction
%matplotlib nbagg
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import MultiCursor
t = np.arange(0.0, 2.0, 0.01)
s1 = np.sin(2*np.pi*t)
s2 = np.sin(4*np.pi*t)
fig, (ax1, ax2) = plt.subplots(2, sharex=True)
ax1.plot(t, s1)
ax2.plot(t, s2)
multi = MultiCursor(fig.canvas, (ax1, ax2), color='r', lw=1, useblit=False)
plt.show()
Actual outcome
and the high CPU usage
Expected outcome
Red line doesn't disappear + my CPU doesn't get crushed.
Matplotlib version
- Operating system: Ubuntu
- Matplotlib version (
import matplotlib; print(matplotlib.__version__)
): '3.3.4.post2456+gfd23bb238' - Matplotlib backend (
print(matplotlib.get_backend())
): nbagg - Python version: '3.9.1 | packaged by conda-forge | (default, Jan 26 2021, 01:34:10) \n[GCC 9.3.0]'
- Jupyter version (if applicable): Notebook 6.2.0 - IPython 7.20.0
dev instlal of maptlotlib + conda-forge for the others