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)
예제 #7
0
 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))
예제 #8
0
 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')
예제 #9
0
 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)
예제 #10
0
 def fn(x, y):
     return Scatter([(x, y)])
예제 #11
0
 def fn(x1, y1):
     return Scatter([(x1, y1)])
예제 #12
0
 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'])
예제 #13
0
 def cb(i):
     if i%2 == 0:
         return Curve([]) * Points([])
     else:
         return Scatter([]) * Curve([])
예제 #14
0
 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)
예제 #20
0
    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])