Hi, I have a question about could animation be triggered only when an onclick event in Silder? For example, there’s a
Slider object which represents the frequency. When I click on the object and choose on one frequency value, a
sin curve will be shown and also there’s a moving dot on the curve which will show an animation about the moving dot.
import matplotlib.pyplot as plt import numpy as np from matplotlib.animation import FuncAnimation from matplotlib.widgets import Slider fig, ax = plt.subplots() plt.subplots_adjust(left=0.25, bottom=0.25) axfreq = plt.axes([0.25, 0.1, 0.65, 0.03], facecolor='lightgoldenrodyellow') sfreq = Slider(axfreq, 'Freq', 0.1, 20.0, valinit=3, valstep=5.0) x = np.linspace(0, 5, 100) y = np.sin(3 * x) l, = ax.plot(x, y) node, = ax.plot([x], [y], 'bo') def animate(x, freq): y = np.sin(freq * x) node.set_data(x, y) return node def update(val): freq = sfreq.val l.set_ydata(np.sin(freq * x)) FuncAnimation(fig, animate, frames=np.linspace(0, 5, 100), fargs=(freq, ), repeat=False) fig.canvas.draw_idle() sfreq.on_changed(update) plt.show()
However the code above doesn’t show the animation but only a
sin curve and the initial dot on it. Are there some examples? Thank you.