Python Holoviews曲线中的关键尺寸在字典中查找值
我希望曲线的用户能够通过滑块(坡度)调整曲线,但我希望“坡度”中的值返回一组不同的值 因此,如果用户选择1,曲线将使用值0.5,如果用户选择5,曲线将使用值0.8 我尝试使用lambda表达式(如下面的脚本)和一些字典(我认为这是可行的方法),但我无法让它工作Python Holoviews曲线中的关键尺寸在字典中查找值,python,numpy,holoviews,Python,Numpy,Holoviews,我希望曲线的用户能够通过滑块(坡度)调整曲线,但我希望“坡度”中的值返回一组不同的值 因此,如果用户选择1,曲线将使用值0.5,如果用户选择5,曲线将使用值0.8 我尝试使用lambda表达式(如下面的脚本)和一些字典(我认为这是可行的方法),但我无法让它工作 import numpy as np import holoviews as hv hv.extension('bokeh') slope = [1, 5, 10] def curve(slope): x = np.linsp
import numpy as np
import holoviews as hv
hv.extension('bokeh')
slope = [1, 5, 10]
def curve(slope):
x = np.linspace(1,10)
m = slope.apply(lambda x: 0.5 if slope == 1 else (0.8 if slope == 5 else (1)))
y = slope*0.5+x
err = x*m
return hv.Curve((x, y)) * hv.Spread((x,y,err))
curve_dict = {r:curve(r) for r in slope}
kdims = hv.Dimension(("slope", "slope"))
hv.HoloMap(curve_dict, kdims=kdims)
根据条件更改值:
slopes = [1, 5, 10]
def curve(slope):
xs = np.linspace(1,10)
slope = np.select(
condlist=[slope==1, slope==5],
choicelist=[0.5, 0.8],
default=1,
)
ys = slope*0.5+xs
return hv.Curve((xs, ys))
curve_dict = {slope: curve(slope) for slope in slopes}
hv.HoloMap(curve_dict, kdims='slope')