def test_holoviews_widgets_update_plot(document, comm): hmap = hv.HoloMap({(i, chr(65+i)): hv.Curve([i]) for i in range(3)}, kdims=['X', 'Y']) hv_pane = HoloViews(hmap, backend='bokeh') layout = hv_pane.get_root(document, comm) cds = layout.children[0].select_one(ColumnDataSource) assert cds.data['y'] == np.array([0]) hv_pane.widget_box[0].value = 1 hv_pane.widget_box[1].value = chr(65+1) assert cds.data['y'] == np.array([1])
def test_hvplot_jscallback(document, comm): points1 = hv.Points([1, 2, 3]) hvplot = HoloViews(points1) hvplot.jscallback(**{'x_range.start': "some_code"}) model = hvplot.get_root(document, comm=comm) x_range = hvplot._plots[model.ref['id']][0].handles['x_range'] customjs = x_range.js_property_callbacks['change:start'][-1] assert customjs.args['source'] is x_range assert customjs.code == "try { some_code } catch(err) { console.log(err) }"
def test_holoviews_pane_initialize_empty(document, comm): pane = HoloViews() # Create pane row = pane.get_root(document, comm=comm) assert isinstance(row, BkRow) assert len(row.children) == 1 model = row.children[0] assert isinstance(model, BkSpacer) pane.object = hv.Curve([1, 2, 3]) model = row.children[0] assert isinstance(model, Figure)
def test_holoviews_updates_widgets(document, comm): hmap = hv.HoloMap({(i, chr(65+i)): hv.Curve([i]) for i in range(3)}, kdims=['X', 'Y']) hv_pane = HoloViews(hmap) layout = hv_pane.get_root(document, comm) hv_pane.widgets = {'X': Select} assert isinstance(hv_pane.widget_box[0], Select) assert isinstance(layout.children[1].children[0].children[0], BkSelect) hv_pane.widgets = {'X': DiscreteSlider} assert isinstance(hv_pane.widget_box[0], DiscreteSlider) assert isinstance(layout.children[1].children[0].children[0], BkColumn) assert isinstance(layout.children[1].children[0].children[0].children[1], BkSlider)
def test_holoviews_with_widgets(document, comm): hmap = hv.HoloMap({(i, chr(65+i)): hv.Curve([i]) for i in range(3)}, kdims=['X', 'Y']) hv_pane = HoloViews(hmap) layout = hv_pane.get_root(document, comm) model = layout.children[0] assert len(hv_pane.widget_box.objects) == 2 assert hv_pane.widget_box.objects[0].name == 'X' assert hv_pane.widget_box.objects[1].name == 'Y' assert hv_pane._models[layout.ref['id']][0] is model hmap = hv.HoloMap({(i, chr(65+i)): hv.Curve([i]) for i in range(3)}, kdims=['A', 'B']) hv_pane.object = hmap assert len(hv_pane.widget_box.objects) == 2 assert hv_pane.widget_box.objects[0].name == 'A' assert hv_pane.widget_box.objects[1].name == 'B'