Matplotlib does not offer a built-in function in its core library to enable hover effects. For this functionality, you may consider using the mplcursors library. Kindly try running the code below after installing mplcursors.
import matplotlib.pyplot as plt
import numpy as np
import mplcursors
x = np.random.rand(20)
y = np.random.rand(20)
colors = np.random.rand(20)
area = (30 * np.random.rand(20))**2
metadata = [f"Point {i}, Value: ({x[i]:.2f}, {y[i]:.2f})" for i in range(len(x))]
fig, ax = plt.subplots()
scatter = ax.scatter(x, y, s=area, c=colors, alpha=0.5)
plt.xlabel('X-axis')
plt.ylabel('Y-axis')
plt.title('Interactive Scatter Plot')
cursor = mplcursors.cursor(scatter, hover=True)
@cursor.connect("add")
def on_add(sel):
sel.annotation.set_text(metadata[sel.index])
plt.show()
Output: