def fn(B, x=1, y=2): return Scatter([(x,y)], label=B)
def fn(**kwargs): return Scatter([(kwargs['x'],kwargs['y'])], label='default')
def fn(x=1, y=2, B='default'): return Scatter([(x,y)], label=B)
def fn(A,B): return Scatter([(A,2)], label=A)
def fn(*args): (A,B) = args return Scatter([(A,2)], label=A)
def fn(A='default', x=1, y=2, **kws): return Scatter([(x,y)], label=A)
def test_overlay_empty_element_extent(self): overlay = Curve([]).redim.range(x=(-10, 10)) * Scatter([]).redim.range(y=(-20, 20)) plot = mpl_renderer.get_plot(overlay) extents = plot.get_extents(overlay, {}) self.assertEqual(extents, (-10, -20, 10, 20))
def test_colorbar_label_style_mapping(self): scatter = Scatter(np.random.rand(100, 3), vdims=["y", "color"]).options(color='color', colorbar=True) plot = mpl_renderer.get_plot(scatter) cbar_ax = plot.handles['cax'] self.assertEqual(cbar_ax.get_ylabel(), 'color')
def test_interleaved_overlay(self): """ Test to avoid regression after fix of https://github.com/ioam/holoviews/issues/41 """ o = Overlay([Curve(np.array([[0, 1]])) , Scatter([[1,1]]) , Curve(np.array([[0, 1]]))]) OverlayPlot(o)
def fn(x, y): return Scatter([(x, y)])
def fn(x1, y1): return Scatter([(x1, y1)])
def test_categorical_overlay_dimension_values(self): curve = Curve([('C', 1), ('B', 3)]).redim.values(x=['A', 'B', 'C']) scatter = Scatter([('A', 2)]) plot = bokeh_renderer.get_plot(curve * scatter) x_range = plot.handles['x_range'] self.assertEqual(x_range.factors, ['A', 'B', 'C'])
def cb(i): if i%2 == 0: return Curve([]) * Points([]) else: return Scatter([]) * Curve([])
def plot_function(mydim, data): return Scatter(data[data[:, 2]==mydim])
def fn(x, y, B): return Scatter([(x,y)], label=B)
def test_dynamic_kdims_only_by_position(self): def fn(A,B): return Scatter([(A,2)], label=A) dmap = DynamicMap(fn, kdims=['A-dim','B-dim']) self.assertEqual(dmap['Test', 1], Scatter([(1, 2)], label='Test'))
def fn(*args, **kwargs): return Scatter([(kwargs['x'],kwargs['y'])], label=args[0])
def test_dynamic_kdims_swapped_by_name(self): def fn(A,B): return Scatter([(A,2)], label=A) dmap = DynamicMap(fn, kdims=['B','A']) self.assertEqual(dmap[1,'Test'], Scatter([(1, 2)], label='Test'))
def fn(x, A, y): return Scatter([(x, y)], label=A)
def test_layout_with_grid(self): # Create GridSpace grid = GridSpace({(i, j): Curve([i, j]) for i in [0, 1] for j in [0, 1]}) grid = grid.options(vspacing=0, hspacing=0) # Create Scatter scatter = Scatter([-10, 0]) # Create Horizontal Layout layout = (scatter + grid).options(vspacing=0, hspacing=0) state = self._get_plot_state(layout) # Compute expected x domain break start_fig_width = 400 grid_fig_width = 400 * 1.1 x_domain_break1 = start_fig_width / (start_fig_width + grid_fig_width) # Compute expect y domain break for left scatter plot start_fig_height = 400 grid_fig_height = start_fig_height * 1.1 y_domain_break1 = start_fig_height / grid_fig_height # Check the scatter plot on the left self.assertEqual(state['data'][0]['y'], np.array([-10, 0])) self.assertEqual(state['data'][0]['mode'], 'markers') self.assertEqual(state['data'][0]['xaxis'], 'x') self.assertEqual(state['data'][0]['yaxis'], 'y') self.assertEqual(state['layout']['xaxis']['range'], [0, 1]) self.assertEqual(state['layout']['xaxis']['domain'], [0, x_domain_break1]) self.assertEqual(state['layout']['yaxis']['range'], [-10, 0]) self.assertEqual(state['layout']['yaxis']['domain'], [0, y_domain_break1]) # Check the grid plot on the right # (0, 0) - bottom-left self.assertEqual(state['data'][1]['y'], np.array([0, 0])) self.assertEqual(state['data'][1]['mode'], 'lines') self.assertEqual(state['data'][1]['xaxis'], 'x2') self.assertEqual(state['data'][1]['yaxis'], 'y2') # (1, 0) - bottom-right self.assertEqual(state['data'][2]['y'], np.array([1, 0])) self.assertEqual(state['data'][2]['mode'], 'lines') self.assertEqual(state['data'][2]['xaxis'], 'x3') self.assertEqual(state['data'][2]['yaxis'], 'y2') # (0, 1) - top-left self.assertEqual(state['data'][3]['y'], np.array([0, 1])) self.assertEqual(state['data'][3]['mode'], 'lines') self.assertEqual(state['data'][3]['xaxis'], 'x2') self.assertEqual(state['data'][3]['yaxis'], 'y3') # (1, 1) - top-right self.assertEqual(state['data'][4]['y'], np.array([1, 1])) self.assertEqual(state['data'][4]['mode'], 'lines') self.assertEqual(state['data'][4]['xaxis'], 'x3') self.assertEqual(state['data'][4]['yaxis'], 'y3') # Axes x_dimain_break2 = x_domain_break1 + (1 - x_domain_break1) / 2 self.assertEqual(state['layout']['xaxis2']['domain'], [x_domain_break1, x_dimain_break2]) self.assertEqual(state['layout']['xaxis3']['domain'], [x_dimain_break2, 1.0]) self.assertEqual(state['layout']['yaxis2']['domain'], [0, 0.5]) self.assertEqual(state['layout']['yaxis3']['domain'], [0.5, 1.0])