def test_spikes_line_width_op_update(self):
     spikes = HoloMap({
         0: Spikes([(0, 0, 0.5), (0, 1, 3.2), (0, 2, 1.8)],
                   vdims=['y', 'line_width']),
         1: Spikes([(0, 0, 0.1), (0, 1, 0.8), (0, 2, 0.3)],
                   vdims=['y', 'line_width'])}).options(linewidth='line_width')
     plot = mpl_renderer.get_plot(spikes)
     artist = plot.handles['artist']
     self.assertEqual(artist.get_linewidths(), [0.5, 3.2, 1.8])
     plot.update((1,))
     self.assertEqual(artist.get_linewidths(), [0.1, 0.8, 0.3])
 def test_spikes_linear_color_op_update(self):
     spikes = HoloMap({
         0: Spikes([(0, 0, 0.5), (0, 1, 3.2), (0, 2, 1.8)],
                   vdims=['y', 'color']),
         1: Spikes([(0, 0, 0.1), (0, 1, 0.8), (0, 2, 0.3)],
                   vdims=['y', 'color'])}).options(color='color', framewise=True)
     plot = mpl_renderer.get_plot(spikes)
     artist = plot.handles['artist']
     self.assertEqual(artist.get_array(), np.array([0.5, 3.2, 1.8]))
     self.assertEqual(artist.get_clim(), (0.5, 3.2))
     plot.update((1,))
     self.assertEqual(artist.get_array(), np.array([0.1, 0.8, 0.3]))
     self.assertEqual(artist.get_clim(), (0.1, 0.8))
 def test_spikes_color_op_update(self):
     spikes = HoloMap({
         0: Spikes([(0, 0, '#000000'), (0, 1, '#FF0000'), (0, 2, '#00FF00')],
                   vdims=['y', 'color']),
         1: Spikes([(0, 0, '#FF0000'), (0, 1, '#00FF00'), (0, 2, '#0000FF')],
                   vdims=['y', 'color'])}).options(color='color')
     plot = mpl_renderer.get_plot(spikes)
     artist = plot.handles['artist']
     self.assertEqual(artist.get_edgecolors(), np.array([
         [0, 0, 0, 1], [1, 0, 0, 1], [0, 1, 0, 1]]
     ))
     plot.update((1,))
     self.assertEqual(artist.get_edgecolors(), np.array([
         [1, 0, 0, 1], [0, 1, 0, 1], [0, 0, 1, 1]]
     ))
Exemplo n.º 4
0
 def test_spikes_padding_soft_xrange(self):
     spikes = Spikes([1, 2,
                      3]).redim.soft_range(x=(0, 3)).options(padding=0.1)
     plot = mpl_renderer.get_plot(spikes)
     x_range = plot.handles['axis'].get_xlim()
     self.assertEqual(x_range[0], 0)
     self.assertEqual(x_range[1], 3)
Exemplo n.º 5
0
 def test_spikes_categorical_color_op(self):
     spikes = Spikes([(0, 0, 'A'), (0, 1, 'B'), (0, 2, 'A')],
                     vdims=['y', 'color']).options(color='color')
     plot = mpl_renderer.get_plot(spikes)
     artist = plot.handles['artist']
     self.assertEqual(np.asarray(artist.get_array()), np.array([0, 1, 0]))
     self.assertEqual(artist.get_clim(), (0, 1))
Exemplo n.º 6
0
 def test_spikes_padding_logx(self):
     spikes = Spikes([(1, 1), (2, 2), (3, 3)]).options(padding=0.1,
                                                       logx=True)
     plot = bokeh_renderer.get_plot(spikes)
     x_range = plot.handles['x_range']
     self.assertEqual(x_range.start, 0.89595845984076228)
     self.assertEqual(x_range.end, 3.3483695221017129)
Exemplo n.º 7
0
 def test_spikes_padding_soft_xrange(self):
     spikes = Spikes([1, 2,
                      3]).redim.soft_range(x=(0, 3)).options(padding=0.1)
     plot = bokeh_renderer.get_plot(spikes)
     x_range = plot.handles['x_range']
     self.assertEqual(x_range.start, 0)
     self.assertEqual(x_range.end, 3.2)
Exemplo n.º 8
0
 def test_spikes_line_width_op(self):
     spikes = Spikes([(0, 0, 1), (0, 1, 4), (0, 2, 8)],
                     vdims=['y',
                            'line_width']).options(linewidth='line_width')
     plot = mpl_renderer.get_plot(spikes)
     artist = plot.handles['artist']
     self.assertEqual(artist.get_linewidths(), [1, 4, 8])
Exemplo n.º 9
0
 def test_batched_spike_plot(self):
     overlay = NdOverlay({i: Spikes([i], kdims=['Time']).opts(
         plot=dict(position=0.1*i, spike_length=0.1, show_legend=False))
                          for i in range(10)})
     plot = bokeh_renderer.get_plot(overlay)
     extents = plot.get_extents(overlay, {})
     self.assertEqual(extents, (0, 0, 9, 1))
Exemplo n.º 10
0
 def test_spikes_padding_logx(self):
     spikes = Spikes([(1, 1), (2, 2), (3, 3)]).options(padding=0.1,
                                                       logx=True)
     plot = mpl_renderer.get_plot(spikes)
     x_range = plot.handles['axis'].get_xlim()
     self.assertEqual(x_range[0], 0.89595845984076228)
     self.assertEqual(x_range[1], 3.3483695221017129)
Exemplo n.º 11
0
 def test_empty_spikes_plot(self):
     spikes = Spikes([], vdims=['Intensity'])
     plot = bokeh_renderer.get_plot(spikes)
     source = plot.handles['source']
     self.assertEqual(len(source.data['x']), 0)
     self.assertEqual(len(source.data['y0']), 0)
     self.assertEqual(len(source.data['y1']), 0)
Exemplo n.º 12
0
 def test_spikes_linear_color_op(self):
     spikes = Spikes([(0, 0, 0), (0, 1, 1), (0, 2, 2)],
                     vdims=['y', 'color']).options(color='color')
     plot = mpl_renderer.get_plot(spikes)
     artist = plot.handles['artist']
     self.assertEqual(np.asarray(artist.get_array()), np.array([0, 1, 2]))
     self.assertEqual(artist.get_clim(), (0, 2))
Exemplo n.º 13
0
 def test_spikes_padding_datetime_square(self):
     spikes = Spikes([
         np.datetime64('2016-04-0%d' % i) for i in range(1, 4)
     ]).options(padding=0.1)
     plot = mpl_renderer.get_plot(spikes)
     x_range = plot.handles['axis'].get_xlim()
     self.assertEqual(x_range[0], 736054.80000000005)
     self.assertEqual(x_range[1], 736057.19999999995)
Exemplo n.º 14
0
 def test_spikes_datetime_vdim_hover(self):
     points = Spikes([(0, 1, dt.datetime(2017, 1, 1))], vdims=['value', 'date']).options(tools=['hover'])
     plot = bokeh_renderer.get_plot(points)
     cds = plot.handles['cds']
     self.assertEqual(cds.data['date'].astype('datetime64'), np.array([1483228800000000000]))
     hover = plot.handles['hover']
     self.assertEqual(hover.tooltips, [('x', '@{x}'), ('value', '@{value}'), ('date', '@{date}{%F %T}')])
     self.assertEqual(hover.formatters, {'@{date}': "datetime"})
 def test_spikes_padding_square_heights(self):
     spikes = Spikes([(1, 1), (2, 2), (3, 3)], vdims=['Height']).options(padding=0.1)
     plot = mpl_renderer.get_plot(spikes)
     x_range, y_range = plot.handles['axis'].get_xlim(), plot.handles['axis'].get_ylim()
     self.assertEqual(x_range[0], 0.8)
     self.assertEqual(x_range[1], 3.2)
     self.assertEqual(y_range[0], 0)
     self.assertEqual(y_range[1], 3.2)
Exemplo n.º 16
0
 def test_spikes_datetime_kdim_hover(self):
     points = Spikes([(dt.datetime(2017, 1, 1), 1)], 'x', 'y').options(tools=['hover'])
     plot = bokeh_renderer.get_plot(points)
     cds = plot.handles['cds']
     self.assertEqual(cds.data['x'].astype('datetime64'), np.array([1483228800000000000]))
     self.assertEqual(cds.data['x_dt_strings'], ['2017-01-01 00:00:00'])
     hover = plot.handles['hover']
     self.assertEqual(hover.tooltips, [('x', '@{x_dt_strings}'), ('y', '@{y}')])
Exemplo n.º 17
0
 def test_spikes_padding_datetime_nonsquare(self):
     spikes = Spikes([
         np.datetime64('2016-04-0%d' % i) for i in range(1, 4)
     ]).options(padding=0.1, aspect=2)
     plot = mpl_renderer.get_plot(spikes)
     x_range = plot.handles['axis'].get_xlim()
     self.assertEqual(x_range[0], 16891.9)
     self.assertEqual(x_range[1], 16894.1)
Exemplo n.º 18
0
 def test_spikes_padding_square_heights(self):
     spikes = Spikes([(1, 1), (2, 2), (3, 3)], vdims=['Height']).options(padding=0.1)
     plot = bokeh_renderer.get_plot(spikes)
     x_range, y_range = plot.handles['x_range'], plot.handles['y_range']
     self.assertEqual(x_range.start, 0.8)
     self.assertEqual(x_range.end, 3.2)
     self.assertEqual(y_range.start, 0)
     self.assertEqual(y_range.end, 3.2)
Exemplo n.º 19
0
 def test_spikes_padding_datetime_square(self):
     spikes = Spikes([np.datetime64('2016-04-0%d' % i) for i in range(1, 4)]).options(
         padding=0.1
     )
     plot = bokeh_renderer.get_plot(spikes)
     x_range = plot.handles['x_range']
     self.assertEqual(x_range.start, np.datetime64('2016-03-31T19:12:00.000000000'))
     self.assertEqual(x_range.end, np.datetime64('2016-04-03T04:48:00.000000000'))
Exemplo n.º 20
0
 def test_spikes_line_width_op(self):
     spikes = Spikes([(0, 0, 1), (0, 1, 4), (0, 2, 8)],
                           vdims=['y', 'line_width']).options(line_width='line_width')
     plot = bokeh_renderer.get_plot(spikes)
     cds = plot.handles['cds']
     glyph = plot.handles['glyph']
     self.assertEqual(cds.data['line_width'], np.array([1, 4, 8]))
     self.assertEqual(glyph.line_width, {'field': 'line_width'})
Exemplo n.º 21
0
 def test_spikes_line_alpha_op(self):
     spikes = Spikes([(0, 0, 0), (0, 1, 0.2), (0, 2, 0.7)],
                           vdims=['y', 'alpha']).options(line_alpha='alpha')
     plot = bokeh_renderer.get_plot(spikes)
     cds = plot.handles['cds']
     glyph = plot.handles['glyph']
     self.assertEqual(cds.data['line_alpha'], np.array([0, 0.2, 0.7]))
     self.assertEqual(glyph.line_alpha, {'field': 'line_alpha'})
Exemplo n.º 22
0
 def test_spikes_line_color_op(self):
     spikes = Spikes([(0, 0, '#000'), (0, 1, '#F00'), (0, 2, '#0F0')],
                           vdims=['y', 'color']).options(line_color='color')
     plot = bokeh_renderer.get_plot(spikes)
     cds = plot.handles['cds']
     glyph = plot.handles['glyph']
     self.assertEqual(cds.data['line_color'], np.array(['#000', '#F00', '#0F0']))
     self.assertEqual(glyph.line_color, {'field': 'line_color'})
Exemplo n.º 23
0
 def test_spikes_color_index_color_clash(self):
     spikes = Spikes([(0, 0, 0), (0, 1, 1), (0, 2, 2)],
                 vdims=['y', 'color']).options(color='color', color_index='color')
     with ParamLogStream() as log:
         bokeh_renderer.get_plot(spikes)
     log_msg = log.stream.read()
     warning = ("Cannot declare style mapping for 'color' option "
                "and declare a color_index; ignoring the color_index.\n")
     self.assertEqual(log_msg, warning)
 def test_spikes_padding_datetime_square_heights(self):
     spikes = Spikes([(np.datetime64('2016-04-0%d' % i), i) for i in range(1, 4)], vdims=['Height']).options(
         padding=0.1
     )
     plot = mpl_renderer.get_plot(spikes)
     x_range, y_range = plot.handles['axis'].get_xlim(), plot.handles['axis'].get_ylim()
     self.assertEqual(x_range[0], 736054.80000000005)
     self.assertEqual(x_range[1], 736057.19999999995)
     self.assertEqual(y_range[0], 0)
     self.assertEqual(y_range[1], 3.2)
Exemplo n.º 25
0
 def test_spikes_padding_datetime_square_heights(self):
     spikes = Spikes([(np.datetime64('2016-04-0%d' % i), i) for i in range(1, 4)], vdims=['Height']).options(
         padding=0.1
     )
     plot = bokeh_renderer.get_plot(spikes)
     x_range, y_range = plot.handles['x_range'], plot.handles['y_range']
     self.assertEqual(x_range.start, np.datetime64('2016-03-31T19:12:00.000000000'))
     self.assertEqual(x_range.end, np.datetime64('2016-04-03T04:48:00.000000000'))
     self.assertEqual(y_range.start, 0)
     self.assertEqual(y_range.end, 3.2)
Exemplo n.º 26
0
 def test_op_ndoverlay_value(self):
     colors = ['blue', 'red']
     overlay = NdOverlay(
         {
             color: Spikes(np.arange(i + 2))
             for i, color in enumerate(colors)
         }, 'Color').options('Spikes', color='Color')
     plot = bokeh_renderer.get_plot(overlay)
     for subplot, color in zip(plot.subplots.values(), colors):
         self.assertEqual(subplot.handles['glyph'].line_color, color)
Exemplo n.º 27
0
 def test_spikes_datetime_vdim_hover(self):
     points = Spikes([(0, 1, dt.datetime(2017, 1, 1))],
                     vdims=['value', 'date']).options(tools=['hover'])
     plot = bokeh_renderer.get_plot(points)
     cds = plot.handles['cds']
     self.assertEqual(cds.data['date'], np.array([1483228800000000000]))
     self.assertEqual(cds.data['date_dt_strings'], ['2017-01-01 00:00:00'])
     hover = plot.handles['hover']
     self.assertEqual(hover.tooltips, [('x', '@{x}'), ('value', '@{value}'),
                                       ('date', '@{date_dt_strings}')])
Exemplo n.º 28
0
 def test_spikes_datetime_kdim_hover_spike_length_override(self):
     points = Spikes([(dt.datetime(2017, 1, 1), 1)], 'x', 'y').options(
         tools=['hover'], spike_length=0.75)
     plot = bokeh_renderer.get_plot(points)
     cds = plot.handles['cds']
     self.assertEqual(cds.data['x'].astype('datetime64'), np.array([1483228800000000000]))
     self.assertEqual(cds.data['y0'], np.array([0]))
     self.assertEqual(cds.data['y1'], np.array([0.75]))
     hover = plot.handles['hover']
     self.assertEqual(hover.tooltips, [('x', '@{x}{%F %T}'), ('y', '@{y}')])
     self.assertEqual(hover.formatters, {'@{x}': "datetime"})
Exemplo n.º 29
0
 def test_spikes_categorical_color_op(self):
     spikes = Spikes([(0, 0, 'A'), (0, 1, 'B'), (0, 2, 'C')],
                           vdims=['y', 'color']).options(color='color')
     plot = bokeh_renderer.get_plot(spikes)
     cds = plot.handles['cds']
     glyph = plot.handles['glyph']
     cmapper = plot.handles['color_color_mapper']
     self.assertTrue(cmapper, CategoricalColorMapper)
     self.assertEqual(cmapper.factors, ['A', 'B', 'C'])
     self.assertEqual(cds.data['color'], np.array(['A', 'B', 'C']))
     self.assertEqual(glyph.line_color, {'field': 'color', 'transform': cmapper})
Exemplo n.º 30
0
 def test_spikes_linear_color_op(self):
     spikes = Spikes([(0, 0, 0), (0, 1, 1), (0, 2, 2)],
                           vdims=['y', 'color']).options(color='color')
     plot = bokeh_renderer.get_plot(spikes)
     cds = plot.handles['cds']
     glyph = plot.handles['glyph']
     cmapper = plot.handles['color_color_mapper']
     self.assertTrue(cmapper, LinearColorMapper)
     self.assertEqual(cmapper.low, 0)
     self.assertEqual(cmapper.high, 2)
     self.assertEqual(cds.data['color'], np.array([0, 1, 2]))
     self.assertEqual(glyph.line_color, {'field': 'color', 'transform': cmapper})
Exemplo n.º 31
0
 def test_spikes_colormapping(self):
     spikes = Spikes(np.random.rand(20, 2), vdims=['Intensity'])
     color_spikes = spikes.opts(plot=dict(color_index=1))
     self._test_colormapping(color_spikes, 1)