import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider # 创建一个正弦函数 def sin_func(freq): x = np.linspace(0, 10, 1000) y = np.sin(x * freq) return x, y # 创建一个绘图函数 def plot_sin(freq): x, y = sin_func(freq) plt.plot(x, y) plt.ylim(-1, 1) # 创建一个Slider对象 freq_slider = Slider(plt.axes([0.1, 0.1, 0.8, 0.05]), 'Frequency', 0.1, 10.0, valinit=1.0) # 绑定Slider与绘图函数 freq_slider.on_changed(plot_sin) # 显示绘图结果 plt.show()
import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider # 创建一个正弦函数 def sin_func(freq, amp): x = np.linspace(0, 10, 1000) y = amp * np.sin(x * freq) return x, y # 创建一个绘图函数 def plot_sin(freq, amp): x, y = sin_func(freq, amp) plt.plot(x, y) plt.ylim(-1, 1) # 创建两个Slider对象 freq_slider = Slider(plt.axes([0.1, 0.1, 0.8, 0.05]), 'Frequency', 0.1, 10.0, valinit=1.0) amp_slider = Slider(plt.axes([0.1, 0.2, 0.8, 0.05]), 'Amplitude', 0.1, 1.0, valinit=0.5) # 双向绑定Slider对象 freq_slider.link(amp_slider) # 绑定Slider与绘图函数 freq_slider.on_changed(plot_sin) amp_slider.on_changed(plot_sin) # 显示绘图结果 plt.show()
import numpy as np import matplotlib.pyplot as plt from matplotlib.widgets import Slider, CheckButtons # 创建一个正弦函数 def sin_func(freq): x = np.linspace(0, 10, 1000) y = np.sin(x * freq) return x, y # 创建一个绘图函数 def plot_sin(freq): x, y = sin_func(freq) plt.plot(x, y) plt.ylim(-1, 1) # 创建一个Slider对象 freq_slider = Slider(plt.axes([0.1, 0.1, 0.8, 0.05]), 'Frequency', 0.1, 10.0, valinit=1.0) # 创建一个Checkbox对象 disable_checkbox = CheckButtons(plt.axes([0.1, 0.2, 0.1, 0.1]), ('Disable',), (False,)) # 绑定Checkbox与Slider def activate_freq_slider(cb): freq_slider.set_active(not cb[0]) disable_checkbox.on_clicked(activate_freq_slider) # 绑定Slider与绘图函数 freq_slider.on_changed(plot_sin) # 显示绘图结果 plt.show()
标签: 积分兑换