I have been struggling with this for a while and can't get it to work. I am reading a file in chunks and scatter plotting data from it, and I would like to "animate" it by updating the scatter plot for each chunk in a for
loop (and also adapt it to a live stream of data).
So something like this ugly example works for a single plot:
x = [1, 2, 3, 4]
y = [4, 3, 2, 1]
alpha = [0.2, 0.3, 0.8, 1.0]
c = np.asarray([(0, 0, 1, a) for a in alpha])
s = scatter(x, y, marker='o', color=c, edgecolors=c)
But how do I update the plot without calling s.remove()
and scatter()
repeatedly? The completely unintuitively-named s.set_array
and s.set_offsets
are supposed to update the colors and the x and y positions, but I can't figure out how to use them with the type of x, y, alpha data I have above.
(Also, is there a better way to do the alpha in the above plot?)