Как отфильтровать данные из виджета боке в Django - PullRequest
0 голосов
/ 30 ноября 2018

У меня проблемы с получением CustomJS для фильтрации данных в Django.Здесь у меня есть два сюжета и один выбор.Я пытаюсь получить выбранное значение для фильтрации данных по имени и отображения на втором графике.Я не знаком с Javascript.Это строит первый график успешно, но выбор не имеет никакого эффекта.Любая помощь будет оценена.

names = ['Adam','Bella','Chaz','Duran','Eddy','Frank','Gallagher','Hen']
size=100

df2 = pd.DataFrame(data={
    'someone': np.random.choice(names, size=size, replace=True),
    'metric':  np.random.randint(0,10000, size=size),
    'metric2': np.random.randint(0,10000, size=size),
})

source2 = ColumnDataSource(df2)
source3 = ColumnDataSource(data=dict(someone=[],metric=[],metric2=[]))

plot = figure(plot_width=300, plot_height=300)
plot.circle(x='metric', y='metric2', size=5, source=source2)

plot2 = figure(plot_width=300, plot_height=300)
plot2.circle(x='metric', y='metric2', size=5, source=source3)



cb_testing = CustomJS(args=dict(s2=source2, s3=source3), code="""
    var f = cb_obj.value;

    var d2 = s2.data;
    var d3 = s3.data;

    d3['someone'] = []
    d3['metric']  = []
    d3['metric2'] = []

    for (var i = 0; i < d2['someone'].length; i++){
        if (d2['someone'] == f){
            d3['someone'].push(d2['someone'][i])
            d3['metric'].push(d2['metric'][i])
            d3['metric2'].push(d2['metric2'][i])
        }
    }


    d3.change.emit();
""")
selecttesting = Select(title="Select Name", options=names, callback=cb_testing)

l4 = layout([
    [selecttesting, plot, plot2]
])

script4, div4 = components(l4,
)
...