当我将鼠标悬停在画布上时,用于绘制和标记线条的代码不断出现错误。我什至尝试使用 mplcursors webpage 中的基本示例,并且明显有相同的行为。如果您要运行代码来查看,您可能必须单击一行,然后单击画布的空白部分。
import matplotlib.pyplot as plt
import numpy as np
import mplcursors
data = np.outer(range(10), range(1, 5))
fig, ax = plt.subplots()
lines = ax.plot(data)
ax.set_title("Click somewhere on a line.\nRight-click to deselect.\n"
"Annotations can be dragged.")
mplcursors.cursor(lines) # or just mplcursors.cursor()
plt.show()
这是我得到的错误:
H:\>python C:\Users\m312945\Desktop\Paul\Scripts\Cluster\test_animation_test_mp.py
Traceback (most recent call last):
File "C:\Python39\lib\site-packages\matplotlib\cbook\__init__.py", line 304, in process
func(*args, **kwargs)
File "C:\Python39\lib\site-packages\matplotlib\offsetbox.py", line 1550, in on_release
if self._check_still_parented() and self.got_artist:
File "C:\Python39\lib\site-packages\matplotlib\offsetbox.py", line 1560, in _check_still_parented
self.disconnect()
File "C:\Python39\lib\site-packages\matplotlib\offsetbox.py", line 1568, in disconnect
self.canvas.mpl_disconnect(cid)
File "C:\Python39\lib\site-packages\matplotlib\offsetbox.py", line 1517, in <lambda>
canvas = property(lambda self: self.ref_artist.figure.canvas)
AttributeError: 'NoneType' object has no attribute 'canvas'
matplotlib v3.7.1
的问题。matplotlib v3.7.0
或更新到 matplotlib v3.7.2
即可解决该问题。