在 Holoviews 中以编程方式定义“redim.range”
Programmatically defining `redim.range` in Holoviews
我希望能够根据 kdim 的变量名以编程方式更改 DynamicMap 的范围。例如:
frequencies = [0.5, 0.75, 1.0, 1.25]
def sine_curve(phase, freq):
xvals = [0.1* i for i in range(100)]
return hv.Curve((xvals, [np.sin(phase+freq*x) for x in xvals]))
dmap = hv.DynamicMap(sine_curve, kdims=['phase', 'frequency'])
dmap.redim.range(phase=(0.5,1)).redim.range(frequency=(0.5,1.25))
我想做这样的事情:
label = 'frequency'
dmap = hv.DynamicMap(sine_curve, kdims=['phase', label])
dmap.redim.range(phase=(0.5,1)).redim.range(label=(0.5,1.25))
有正确的方法吗?
要以编程方式在 Python 中定义关键字参数,您可以简单地创建一个字典并将其解压缩,例如在您的示例中,它看起来像这样:
dmap.redim.range(**{'phase': (0.5, 1), label: (0.5, 1.25)})
我希望能够根据 kdim 的变量名以编程方式更改 DynamicMap 的范围。例如:
frequencies = [0.5, 0.75, 1.0, 1.25]
def sine_curve(phase, freq):
xvals = [0.1* i for i in range(100)]
return hv.Curve((xvals, [np.sin(phase+freq*x) for x in xvals]))
dmap = hv.DynamicMap(sine_curve, kdims=['phase', 'frequency'])
dmap.redim.range(phase=(0.5,1)).redim.range(frequency=(0.5,1.25))
我想做这样的事情:
label = 'frequency'
dmap = hv.DynamicMap(sine_curve, kdims=['phase', label])
dmap.redim.range(phase=(0.5,1)).redim.range(label=(0.5,1.25))
有正确的方法吗?
要以编程方式在 Python 中定义关键字参数,您可以简单地创建一个字典并将其解压缩,例如在您的示例中,它看起来像这样:
dmap.redim.range(**{'phase': (0.5, 1), label: (0.5, 1.25)})