0

我正在尝试在 Holoviews 表(Dynamicmap)中使用 Panel 库中的 RangeSlider 小部件。但是,在尝试了不同的方法之后,我无法建立这种联系。

我试图通过以下方式做到这一点:

import pandas as pd
import os
from bokeh.models.widgets import TableColumn, DataTable
import holoviews as hv
from holoviews import opts
import panel as pn
hv.extension('bokeh')

technical_data_table = pd.read_csv(os.path.join(Data_folder,'Technical_Data_Table.csv'))

RSI_slider = pn.widgets.RangeSlider(name='RSI Range', start=0, end=100, value=(0, 100), step=0.01)

RSI_value = (RSI_slider.value[0], RSI_slider.value[1])

def load_stocks(RSI_value):

    table = hv.Table(technical_data_table[technical_data_table['RSI'].between(RSI_value[0], RSI_value[1])])
    table = table.opts(opts.Table(width=700))
    return table        

dmap = hv.DynamicMap(load_stocks, kdims='RSI_value').redim.range(RSI_value = ((0, 100),(0,100)))

有什么建议吗?

4

1 回答 1

0

我认为您需要使用依赖装饰器来告诉 load_stocks() RSI_value 来自滑块。请参阅此处的“反应性函数”部分。就像是:

@pn.depends(RSI_value)  #I added this line to your code
def load_stocks(RSI_value):
于 2020-01-20T23:07:44.710 回答