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_points_overlay_categorical_xaxis_invert_axes(self):
points = Points((['A', 'B', 'C'], (1,2,3))).opts(plot=dict(invert_axes=True))
points2 = Points((['B', 'C', 'D'], (1,2,3)))
plot = bokeh_renderer.get_plot(points*points2)
y_range = plot.handles['y_range']
self.assertIsInstance(y_range, FactorRange)
self.assertEqual(y_range.factors, ['A', 'B', 'C', 'D'])
def test_points_categorical_xaxis(self):
points = Points((['A', 'B', 'C'], (1,2,3)))
plot = bokeh_renderer.get_plot(points)
x_range = plot.handles['x_range']
self.assertIsInstance(x_range, FactorRange)
self.assertEqual(x_range.factors, ['A', 'B', 'C'])
def history_callback(x, y, history=deque(maxlen=10)):
history.append((x, y))
return Points(list(history))
dmap = DynamicMap(history_callback, kdims=['x', 'y'])
def test_points_non_numeric_size_warning(self):
data = (np.arange(10), np.arange(10), list(map(chr, range(94,104))))
points = Points(data, vdims=['z']).opts(plot=dict(size_index=2))
with ParamLogStream() as log:
plot = mpl_renderer.get_plot(points)
log_msg = log.stream.read()
warning = ('%s: z dimension is not numeric, '
'cannot use to scale Points size.\n' % plot.name)
self.assertEqual(log_msg, warning)
def test_points_overlay_categorical_xaxis(self):
points = Points((['A', 'B', 'C'], (1,2,3)))
points2 = Points((['B', 'C', 'D'], (1,2,3)))
plot = bokeh_renderer.get_plot(points*points2)
x_range = plot.handles['x_range']
self.assertIsInstance(x_range, FactorRange)
self.assertEqual(x_range.factors, ['A', 'B', 'C', 'D'])
def test_points_colormapping_with_nonselection(self):
opts = dict(plot=dict(color_index=3),
style=dict(nonselection_color='red'))
points = Points(np.random.rand(10, 4), vdims=['a', 'b']).opts(**opts)
self._test_colormapping(points, 3)
def test_hover_tool_instance_renderer_association(self):
tooltips = [("index", "$index")]
hover = HoverTool(tooltips=tooltips)
opts = dict(tools=[hover])
overlay = Curve(np.random.rand(10,2)).opts(plot=opts) * Points(np.random.rand(10,2))
plot = bokeh_renderer.get_plot(overlay)
curve_plot = plot.subplots[('Curve', 'I')]
self.assertEqual(len(curve_plot.handles['hover'].renderers), 1)
self.assertIn(curve_plot.handles['glyph_renderer'], curve_plot.handles['hover'].renderers)
self.assertEqual(plot.handles['hover'].tooltips, tooltips)
dmap = DynamicMap(lambda: NdOverlay({i: Points([i]) for i in range(3)}))
initialize_dynamic(dmap)
def test_side_histogram_no_cmapper(self):
points = Points(np.random.rand(100, 2))
plot = bokeh_renderer.get_plot(points.hist())
plot.initialize_plot()
adjoint_plot = list(plot.subplots.values())[0]
main_plot = adjoint_plot.subplots['main']
right_plot = adjoint_plot.subplots['right']
self.assertTrue('color_mapper' not in main_plot.handles)
self.assertTrue('color_mapper' not in right_plot.handles)
def test_source_registry_empty_element(self):
points = Points([])
PointerX(source=points)
self.assertIn(id(points), Stream.registry)