Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
def test_displays_title(self, bokeh_model_page):
slider = Slider(start=0, end=10, value=1, title="bar", css_classes=["foo"], width=300)
page = bokeh_model_page(slider)
el = page.driver.find_element_by_css_selector('.foo')
assert len(el.find_elements_by_css_selector('div.bk-input-group > div')) == 2
assert get_title_text(page.driver, ".foo") == "bar: 1"
assert float(get_title_value(page.driver, ".foo")) == 1
assert page.has_no_console_errors()
def test_js_on_change_executes(self, bokeh_model_page):
slider = Slider(start=0, end=10, value=1, title="bar", css_classes=["foo"], width=300)
slider.js_on_change('value', CustomJS(code=RECORD("value", "cb_obj.value")))
page = bokeh_model_page(slider)
drag_slider(page.driver, ".foo", 150)
results = page.results
assert float(results['value']) > 1
assert page.has_no_console_errors()
A, B = amp.value, offset.value
k, phi = freq.value, phase.value
x, y = data['x'], data['y']
for i in range(len(x)):
y[i] = B + A * window.Math.sin(k * x[i] + phi)
source.change.emit()
# turn our function into a CustomJS object.
# print(callback.code) to see the generated JavaScript code
callback = CustomJS.from_py_func(callback)
amp_slider = Slider(start=0.1, end=10, value=1, step=.1,
title="Amplitude", callback=callback)
callback.args["amp"] = amp_slider
freq_slider = Slider(start=0.1, end=10, value=1, step=.1,
title="Frequency", callback=callback)
callback.args["freq"] = freq_slider
phase_slider = Slider(start=0, end=6.4, value=0, step=.1,
title="Phase", callback=callback)
callback.args["phase"] = phase_slider
offset_slider = Slider(start=-5, end=5, value=0, step=.1,
title="Offset", callback=callback)
callback.args["offset"] = offset_slider
layout = row(
plot,
column(amp_slider, freq_slider, phase_slider, offset_slider),
)
from bokeh.models import CustomJS, Slider
from bokeh.plotting import ColumnDataSource, figure, output_file, show
x = np.linspace(0, 10, 500)
y = np.sin(x)
source = ColumnDataSource(data=dict(x=x, y=y))
plot = figure(y_range=(-10, 10), plot_width=400, plot_height=400)
plot.line('x', 'y', source=source, line_width=3, line_alpha=0.6)
amp_slider = Slider(start=0.1, end=10, value=1, step=.1, title="Amplitude")
freq_slider = Slider(start=0.1, end=10, value=1, step=.1, title="Frequency")
phase_slider = Slider(start=0, end=6.4, value=0, step=.1, title="Phase")
offset_slider = Slider(start=-5, end=5, value=0, step=.1, title="Offset")
callback = CustomJS(args=dict(source=source, amp=amp_slider, freq=freq_slider, phase=phase_slider, offset=offset_slider),
code="""
const data = source.data;
const A = amp.value;
const k = freq.value;
const phi = phase.value;
const B = offset.value;
const x = data['x']
const y = data['y']
for (var i = 0; i < x.length; i++) {
y[i] = B + A*Math.sin(k*x[i]+phi);
}
source.change.emit();
""")
dropdown = bokeh.models.Dropdown(
label="Color",
menu=[
("Black", "black"),
("White", "white")],
width=50)
autolabel(dropdown)
def on_change(attr, old, new):
for feature in features:
feature.glyph.line_color = new
dropdown.on_change("value", on_change)
slider = bokeh.models.Slider(
start=0,
end=1,
step=0.1,
value=1.0,
show_value=False)
def is_image(renderer):
return isinstance(getattr(renderer, 'glyph', None), bokeh.models.Image)
image_renderers = [r for r in renderers if is_image(r)]
custom_js = bokeh.models.CustomJS(
args=dict(renderers=image_renderers),
code="""
renderers.forEach(function (r) {
r.glyph.global_alpha = cb_obj.value
})
from bokeh.resources import INLINE
from bokeh.util.browser import view
slider = Slider(title="Numerical", value=50, start=0, end=96, step=5)
disabled_slider = Slider(title="Disabled", value=50, start=0, end=96, step=5, disabled=True)
range_slider = RangeSlider(title="Numerical range", value=[30, 70], start=0, end=100, step=0.5)
date_slider = DateSlider(title="Date", value=date(2014, 1, 1), start=date(2010, 1, 1), end=date(2020, 1, 1), step=1)
date_range_slider = DateRangeSlider(title="Date range", value=(date(2014, 1, 1), date(2018, 12, 31)), start=date(2010, 1, 1), end=date(2020, 1, 1), step=1)
only_value_slider = Slider(value=50, start=0, end=96, step=5)
no_title_slider = Slider(title=None, value=50, start=0, end=96, step=5)
def color_picker():
def color_slider(title, color):
return Slider(title=title, show_value=False, value=127, start=0, end=255, step=1, orientation="vertical", bar_color=color)
red = color_slider("R", "red")
green = color_slider("G", "green")
blue = color_slider("B", "blue")
div = Div(width=100, height=100, background="rgb(127, 127, 127)")
cb = CustomJS(args=dict(red=red, green=green, blue=blue, div=div), code="""
const r = red.value
const g = green.value
const b = blue.value
div.background = `rgb(${r}, ${g}, ${b})`
mass.mass,
spring.kappa,
dashpot.lam,
float(Fo_input.value),
1.0/2.0/dt,
float(Omega_input.value),
1000,
Amplification_function_source,
Amplification_state_source,
Amplification_range,
FrequencyRatio_amplification_range
)
lam_input = Slider(title="Damping coefficient [Ns/m]", value=initial_lambda_value, start=0.0, end=10, step=0.1,width=400)
lam_input.on_change('value',change_lam)
############################# Initial Velocity ################################
def change_initV(attr,old,new):
global mass, Active, initial_velocity_value, initV_input
if (not Active):
mass.changeInitV(new)
initV_input = Slider(title="Initial velocity [m/s]", value=initial_velocity_value, start=-10.0, end=10.0, step=0.5,width=400)
initV_input.on_change('value',change_initV)
'''
###############################################################################
Animation paramters
###############################################################################
'''
x = np.linspace(0, 4*np.pi, N)
y = np.sin(x)
source = ColumnDataSource(data=dict(x=x, y=y))
# Set up plot
plot = figure(plot_height=400, plot_width=400, title="my sine wave",
tools="crosshair,pan,reset,save,wheel_zoom",
x_range=[0, 4*np.pi], y_range=[-2.5, 2.5])
plot.line('x', 'y', source=source, line_width=3, line_alpha=0.6)
# Set up widgets
text = TextInput(title="title", value='my sine wave')
offset = Slider(title="offset", value=0.0, start=-5.0, end=5.0, step=0.1)
amplitude = Slider(title="amplitude", value=1.0, start=-5.0, end=5.0, step=0.1)
phase = Slider(title="phase", value=0.0, start=0.0, end=2*np.pi)
freq = Slider(title="frequency", value=1.0, start=0.1, end=5.1, step=0.1)
# Set up callbacks
def update_title(attrname, old, new):
plot.title.text = text.value
text.on_change('value', update_title)
def update_data(attrname, old, new):
# Get the current slider values
a = amplitude.value
b = offset.value
def bkapp(doc):
df = sea_surface_temperature.copy()
source = ColumnDataSource(data=df)
plot = figure(x_axis_type='datetime', y_range=(0, 25), y_axis_label='Temperature (Celsius)',
title="Sea Surface Temperature at 43.18, -70.43")
plot.line('time', 'temperature', source=source)
def callback(attr, old, new):
if new == 0:
data = df
else:
data = df.rolling('{0}D'.format(new)).mean()
source.data = ColumnDataSource.from_df(data)
slider = Slider(start=0, end=30, value=0, step=1, title="Smoothing by N Days")
slider.on_change('value', callback)
doc.add_root(column(slider, plot))
doc.theme = Theme(filename="theme.yaml")
var data2_ = source2_.get('data');
c1 = data2['c1'];
c2 = data2['c2'];
for (i = 0; i < c1.length; i++) {
c1[i] = data2_['cc1'][f][l][i];
c2[i] = data2_['cc2'][f][l][i];
}
source.trigger('change');
source2.trigger('change');
""")
plot = bpl.figure(plot_width=600, plot_height=300)
plot.line('x', 'y', source=source, line_width=1, line_alpha=0.6)
if denoised_color is not None:
plot.line('x', 'y2', source=source, line_width=1, line_alpha=0.6, color=denoised_color)
slider = bokeh.models.Slider(start=1, end=Y_r.shape[0], value=1, step=1,
title="Neuron Number", callback=callback)
xr = Range1d(start=0, end=image_neurons.shape[1] if max_projection else d3)
yr = Range1d(start=image_neurons.shape[0] if max_projection else d2, end=0)
plot1 = bpl.figure(x_range=xr, y_range=yr, plot_width=300, plot_height=300)
if max_projection:
plot1.image(image=[image_neurons[::-1, :]], x=0, y=image_neurons.shape[0],
dw=image_neurons.shape[1], dh=image_neurons.shape[0], palette=grayp)
plot1.patch('c1x', 'c2x', alpha=0.6, color='purple', line_width=2, source=source2)
plot1.patch('c1y', 'c2y', alpha=0.6, color='purple', line_width=2, source=source2)
plot1.patch('c1z', 'c2z', alpha=0.6, color='purple', line_width=2, source=source2)
layout = bokeh.layouts.layout([[slider], [bokeh.layouts.row(plot1, plot)]],
sizing_mode="scale_width")
else:
slider_layer = bokeh.models.Slider(start=1, end=d1, value=linit + 1, step=1,
title="Layer", callback=callback_layer)