Sometimes, we want to add hovering annotations in Python matplotlib.
In this article, we’ll look at how to add hovering annotations in Python matplotlib.
How to add hovering annotations in Python matplotlib?
To add hovering annotations in Python matplotlib, we can call mpl_connect to add an event listener to watch for hovers.
For instance, we write
import matplotlib.pyplot as plt
fig = plt.figure()
plot = fig.add_subplot(111)
for i in range(4):
plot.plot([i * 1, i * 2, i * 3, i * 4], gid=i)
def on_plot_hover(event):
for curve in plot.get_lines():
if curve.contains(event)[0]:
print('over %s' % curve.get_gid())
fig.canvas.mpl_connect('motion_notify_event', on_plot_hover)
plt.show()
to create a curve plot with
fig = plt.figure()
plot = fig.add_subplot(111)
for i in range(4):
plot.plot([i * 1, i * 2, i * 3, i * 4], gid=i)
Then we define the on_plot_hover that gets the curve we hovered over by looping through them and then get the one that has the event mouse position.
Next, we use that as the hover event listener with
fig.canvas.mpl_connect('motion_notify_event', on_plot_hover)
Conclusion
To add hovering annotations in Python matplotlib, we can call mpl_connect to add an event listener to watch for hovers.