使用交互更改另一个参数时重置参数

时间:2018-11-19 17:17:41

标签: python ipywidgets

我想知道ipywidgets是否支持在您操纵/改变/滑动/更改其他交互式参数之一时将其中一个参数重置为默认值。以他们的documentation

为例
%matplotlib inline
from ipywidgets import interactive
import matplotlib.pyplot as plt
import numpy as np

def f(m, b):
    plt.figure(2)
    x = np.linspace(-10, 10, num=1000)
    plt.plot(x, m * x + b)
    plt.ylim(-5, 5)
    plt.show()

interactive_plot = interactive(f, m=(-2.0, 2.0), b=(-3, 3, 0.5))
output = interactive_plot.children[-1]
output.layout.height = '350px'
interactive_plot

我要寻找的是一种在我更改m时将参数b重置为默认值的方法。是否支持这种方法,如果没有,是否有人能够想到一种聪明的方法呢?我个人不能。

1 个答案:

答案 0 :(得分:1)

这是一个相当简化的示例,但是您可以将default_value定义为b的普通实例变量,然后每当m更改为普通{{1}时就重新分配它}命令。

在这种情况下,当您有两个或多个小部件交互时,将两个输入作为实例变量作为observe进行管理可能会更容易,尤其是如果您想在多个位置使用小部件的这种组合相同的模块/笔记本。

class