def test_vline_layout(self): layout = (VLine(1) + VLine(2) + VLine(3) + VLine(4)).cols(2).opts(vspacing=0, hspacing=0) state = self._get_plot_state(layout) shapes = state['layout']['shapes'] self.assertEqual(len(shapes), 4) # Check shapes self.assert_vline(shapes[0], 3, xref='x', ydomain=[0.0, 0.5]) self.assert_vline(shapes[1], 4, xref='x2', ydomain=[0.0, 0.5]) self.assert_vline(shapes[2], 1, xref='x3', ydomain=[0.5, 1.0]) self.assert_vline(shapes[3], 2, xref='x4', ydomain=[0.5, 1.0])
def test_single_vline(self): vline = VLine(3) state = self._get_plot_state(vline) shapes = state['layout']['shapes'] self.assertEqual(len(shapes), 1) self.assert_vline(shapes[0], 3)
def test_dynamic_values_partial_overlap(self): kdims = [Dimension('File', range=(0.01, 1)), Dimension('SliceDimension', values=['x', 'y', 'z']), Dimension('Coordinates', range=(0.01, 1))] dmap1 = DynamicMap(lambda x, y, z: Image(np.random.rand(10,10)), kdims=kdims) dmap2 = DynamicMap(lambda x: Curve(np.random.rand(10,2))*VLine(x), kdims=kdims[:1]) mpl_renderer.get_widget(dmap1 + dmap2, 'selection')
def test_plot_graph_annotation_overlay(self): plot = bokeh_renderer.get_plot(VLine(0) * self.graph) x_range = plot.handles['x_range'] y_range = plot.handles['x_range'] self.assertEqual(x_range.start, -1) self.assertEqual(x_range.end, 1) self.assertEqual(y_range.start, -1) self.assertEqual(y_range.end, 1)
def test_complex_range_example(self): errors = [(0.1*i, np.sin(0.1*i), (i+1)/3., (i+1)/5.) for i in np.linspace(0, 100, 11)] errors = ErrorBars(errors, vdims=['y', 'yerrneg', 'yerrpos']).redim.range(y=(0, None)) overlay = Curve(errors) * errors * VLine(4) plot = bokeh_renderer.get_plot(overlay) x_range = plot.handles['x_range'] y_range = plot.handles['y_range'] self.assertEqual(x_range.start, 0) self.assertEqual(x_range.end, 10.0) self.assertEqual(y_range.start, 0) self.assertEqual(y_range.end, 19.655978889110628)
def test(x): return Curve([1, 2, 3]) * VLine(x or 0)
def test_vline_plot(self): vline = VLine(1.1) plot = bokeh_renderer.get_plot(vline) span = plot.handles['glyph'] self.assertEqual(span.dimension, 'height') self.assertEqual(span.location, 1.1)
def test_vline_invert_axes(self): vline = VLine(1.1).opts(plot=dict(invert_axes=True)) plot = bokeh_renderer.get_plot(vline) span = plot.handles['glyph'] self.assertEqual(span.dimension, 'width') self.assertEqual(span.location, 1.1)
def crosshair(time): return VLine(time) * HLine(time)
def test_vline_styling(self): self.assert_shape_element_styling(VLine(3))