У меня есть данные с некоторыми случайными характеристиками (факторами) для некоторых компаний. Я хотел бы выбрать один фактор в первом виджете, а затем минимальное и максимальное значение второго виджета для обновления соответственно. Я попробовал это с приведенным ниже кодом, но, поскольку я не являюсь экспертом в JS, я действительно не знаю, как обрабатывать. Ваша помощь или советы приветствуются.
Большое спасибо заранее
Матье
import math
import numpy as np
import pandas as pd
import random
import matplotlib.pyplot as plt
from bokeh.plotting import figure, output_file, show
from bokeh.models import ColumnDataSource, HoverTool,CustomJS
from bokeh.sampledata.autompg import autompg_clean as df
from bokeh.models.widgets import Slider, Select, TextInput,RangeSlider,DataTable,TableColumn
from bokeh.layouts import layout, column
CompanyList = ['00', '01', '02','03']
a = pd.DataFrame({
'Factor1' : [random.randint(0, 10) for t in range(4)],
'Factor2' : [random.randint(0,100) for t in range(4)],
'Factor3' : [random.randint(0,1000) for t in range(4)],
'CompanyNo' : CompanyList})
a =a.set_index('CompanyNo')
C1 = Select(title="Constraint No1", options=sorted(list(a.columns)), value='Factor1')
R1 = RangeSlider(title="Range Constraint 2",value=(a[C1.value].min(),a[C1.value].max()),start=a[C1.value].min(),end=a[C1.value].max(),step=0.1,width=300)
Мне нужна помощь для этой части:
C1.callback = CustomJS(args=dict(R1=R1,C1=C1,a=a), code="""
R1.start = a[C1.value].min()
R1.end = a[C1.value].max();
""")
show(column(C1,R1))