我正在尝试做一个简单的按钮来将小部件“重置”为某些默认值。我@interact在 Jupyter Lab 环境中使用装饰器。问题是小部件标识符的值被复制到函数内用作浮点变量的相同标识符,因此我无法在这个新范围内再访问它们。这是一个简短的示例(不起作用):
import numpy as np
import matplotlib.pyplot as plt
from ipywidgets import interact, Button
@interact(starts_at=(0, np.pi*0.9, np.pi*0.1), ends_at=(np.pi, 2*np.pi, np.pi*0.1))
def plot_graph(starts_at=0, ends_at=2*np.pi):
def on_button_clicked(_):
# instructions when clicking the button (this cannot work)
starts_at = 0
ends_at = 2*np.pi
button = Button(description="Reset")
button.on_click(on_button_clicked)
display(button)
f = lambda x : sum(1/a*np.sin(a*x + np.pi/a) for a in range(1,6))
x = np.linspace(0, 2*np.pi, 1000)
plt.plot(x, f(x))
plt.xlim([starts_at, ends_at])
有谁知道如何将对原始小部件对象的引用发送到装饰函数的范围?我还将接受实现重置这些滑块的按钮的简单方法。
:-D
编辑:更正文本流
月关宝盒
呼啦一阵风
素胚勾勒不出你
相关分类