Использование ползунка для сужения компонентов массива при изменении - PullRequest
0 голосов
/ 16 января 2020

У меня есть массив массивов, который состоит из сеточных данных об уровне воды для нескольких моделей. Я хочу создать диапазон с использованием python панель / боке, который при изменении сузит объем данных, хранящихся в массиве. Как получить значение ползунка для обновления при изменении? Вот моя попытка кодирования этого ниже, где K_lay_2_slider является ползунком, и мне нужно обновлять K_lay_2_slider.value каждый раз, когда ползунок изменяется, чтобы повторно запустить функцию updategraph.

runnumbers_slider = []
allheads_slider = []
K_lay_2_slider = RangeSlider(start=0, end=4, value=(0,4), step=1, title="K")
K = K_lay_2_slider.value
def updategraph(K):
    K = K_lay_2_slider.value
    for z in np.arange(len(runnumbers)):
        K_val = int(runnumbers[z][2])
        if K[0] ==K[1]:
            if K_val == K[0]:
                runnumbers_slider.append(runnumbers[z])
                allheads_slider.append(allheads[z])
        else:
            if K_val in range(K[0],K[1]):
                runnumbers_slider.append(runnumbers[z])
                allheads_slider.append(allheads[z])
            else:
                print('not in range')
    return ((runnumbers_slider),(allheads_slider))


def slider_update(attrname, old, new):
    # Notify the HoloViews stream of the slider update 
    K = new
    print(updategraph(K))


K_lay_2_slider.on_change('value', slider_update)
...