Python Forum
[matpltlib]Basic question about callback function
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[matpltlib]Basic question about callback function
#1
I'm learning about using the slider and button widgets and am studying the example given in the link.

Slider Demo
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.widgets import Slider, Button, RadioButtons

fig, ax = plt.subplots()
plt.subplots_adjust(left=0.25, bottom=0.25)
t = np.arange(0.0, 1.0, 0.001)
a0 = 5
f0 = 3
delta_f = 5.0
s = a0 * np.sin(2 * np.pi * f0 * t)
l, = plt.plot(t, s, lw=2)
plt.axis([0, 1, -10, 10])

axcolor = 'lightgoldenrodyellow'
axfreq = plt.axes([0.25, 0.1, 0.65, 0.03], facecolor=axcolor)
axamp = plt.axes([0.25, 0.15, 0.65, 0.03], facecolor=axcolor)

sfreq = Slider(axfreq, 'Freq', 0.1, 30.0, valinit=f0, valstep=delta_f)
samp = Slider(axamp, 'Amp', 0.1, 10.0, valinit=a0)


def update(val):
    amp = samp.val
    freq = sfreq.val
    l.set_ydata(amp*np.sin(2*np.pi*freq*t))
    fig.canvas.draw_idle()


sfreq.on_changed(update)
samp.on_changed(update)

resetax = plt.axes([0.8, 0.025, 0.1, 0.04])
button = Button(resetax, 'Reset', color=axcolor, hovercolor='0.975')


def reset(event):
    sfreq.reset()
    samp.reset()
button.on_clicked(reset)

rax = plt.axes([0.025, 0.5, 0.15, 0.15], facecolor=axcolor)
radio = RadioButtons(rax, ('red', 'blue', 'green'), active=0)


def colorfunc(label):
    l.set_color(label)
    fig.canvas.draw_idle()
radio.on_clicked(colorfunc)

plt.show()
I don't understand the parameters of the two first functions in the example nor the fact that they don't have any return statements. It seems like the parameters aren't used in the function, yet they're needed. I'd appreciate a clarification on what is going on. Thanks!
Reply


Messages In This Thread
[matpltlib]Basic question about callback function - by schniefen - May-20-2019, 07:20 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] Tkinter callback exception Ben123 2 649 Feb-17-2024, 06:03 PM
Last Post: deanhystad
  GUI freezes while executing a callback funtion when a button is pressed abi17124 5 7,543 Jul-10-2019, 12:48 AM
Last Post: FullOfHelp
  Unable to return value from callback function of a button in Python Tkinter nilaybnrj 4 20,893 Aug-05-2018, 11:01 PM
Last Post: woooee
  pygtk2, how to disconnect all callback of widget or window event ? harun2525 1 3,352 Feb-19-2017, 11:44 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020