I have a scatterplot with about 280,000 points which displays quite nicely. However, I would like to dynamic labels to each point so that when I zoom into the graph enough I can see a bit of text on each point.
I've tried just using plt.annotate on every point, and on a smaller number of points
for index, row in points.iterrows():
plt.annotate(row[0], (row[1], row[2]))
#if index+1 %100 == 0:
# break
This causes the window to lag and not actually display anything rather than display labels. If I uncomment the break then I still have a rather laggy window with a large black clump of overlapping text. If the text could only be displayed under a certain level of magnification, or even scale to be an appropriate size at different levels of magnification that would be great!
I'm really open to any solutions to create a labeled scatter plot from my data.