Exemplo n.º 1
0
 def test_curve_style_mapping_constant_value_dimensions(self):
     vdims = ['y', 'num', 'cat']
     ndoverlay = NdOverlay({
         0: Curve([(0, 1, 0, 'A'), (1, 0, 0, 'A')], vdims=vdims),
         1: Curve([(0, 1, 0, 'B'), (1, 1, 0, 'B')], vdims=vdims),
         2: Curve([(0, 1, 1, 'A'), (1, 2, 1, 'A')], vdims=vdims),
         3: Curve([(0, 1, 1, 'B'), (1, 3, 1, 'B')], vdims=vdims)}
     ).opts({
         'Curve': dict(
             color=dim('num').categorize({0: 'red', 1: 'blue'}),
             linestyle=dim('cat').categorize({'A': '-.', 'B': '-'})
         )
     })
     plot = mpl_renderer.get_plot(ndoverlay)
     for k, sp in plot.subplots.items():
         artist = sp.handles['artist']
         color = artist.get_color()
         if ndoverlay[k].iloc[0, 2] == 0:
             self.assertEqual(color, 'red')
         else:
             self.assertEqual(color, 'blue')
         linestyle = artist.get_linestyle()
         if ndoverlay[k].iloc[0, 3] == 'A':
             self.assertEqual(linestyle, '-.')
         else:
             self.assertEqual(linestyle, '-')
Exemplo n.º 2
0
 def test_curve_style_mapping_constant_value_dimensions(self):
     vdims = ['y', 'num', 'cat']
     ndoverlay = NdOverlay({
         0: Curve([(0, 1, 0, 'A'), (1, 0, 0, 'A')], vdims=vdims),
         1: Curve([(0, 1, 0, 'B'), (1, 1, 0, 'B')], vdims=vdims),
         2: Curve([(0, 1, 1, 'A'), (1, 2, 1, 'A')], vdims=vdims),
         3: Curve([(0, 1, 1, 'B'), (1, 3, 1, 'B')], vdims=vdims)}
     ).opts({
         'Curve': dict(
             color=dim('num').categorize({0: 'red', 1: 'blue'}),
             line_dash=dim('cat').categorize({'A': 'solid', 'B': 'dashed'})
         )
     })
     plot = bokeh_renderer.get_plot(ndoverlay)
     for k, sp in plot.subplots.items():
         glyph = sp.handles['glyph']
         color = glyph.line_color
         if ndoverlay[k].iloc[0, 2] == 0:
             self.assertEqual(color, 'red')
         else:
             self.assertEqual(color, 'blue')
         linestyle = glyph.line_dash
         if ndoverlay[k].iloc[0, 3] == 'A':
             self.assertEqual(linestyle, [])
         else:
             self.assertEqual(linestyle, [6])
Exemplo n.º 3
0
 def test_chord_edge_color_style_mapping(self):
     g = self.chord.opts(style=dict(edge_color=dim('start').astype(str), edge_cmap=['#FFFFFF', '#000000']))
     plot = bokeh_renderer.get_plot(g)
     cmapper = plot.handles['edge_color_color_mapper']
     edge_source = plot.handles['multi_line_1_source']
     glyph = plot.handles['multi_line_1_glyph']
     self.assertIsInstance(cmapper, CategoricalColorMapper)
     self.assertEqual(cmapper.palette, ['#FFFFFF', '#000000', '#FFFFFF'])
     self.assertEqual(cmapper.factors, ['0', '1', '2'])
     self.assertEqual(edge_source.data['edge_color'], np.array(['0', '0', '1']))
     self.assertEqual(glyph.line_color, {'field': 'edge_color', 'transform': cmapper})
Exemplo n.º 4
0
 def test_chord_edge_color_style_mapping_update(self):
     hmap = HoloMap({0: self.make_chord(0), 1: self.make_chord(1)}).options(
         edge_color=dim('weight').categorize({1: 'red', 2: 'green', 3: 'blue', 4: 'black'})
     )
     plot = mpl_renderer.get_plot(hmap)
     edges = plot.handles['edges']
     self.assertEqual(edges.get_edgecolors(), np.array([
         [1, 0, 0, 1], [0, 0.501961, 0, 1], [0, 0, 1, 1]
     ]))
     plot.update((1,))
     self.assertEqual(edges.get_edgecolors(), np.array([
         [0, 0.501961, 0, 1], [0, 0, 1, 1], [0, 0, 0, 1]
     ]))
Exemplo n.º 5
0
 def test_curve_style_mapping_ndoverlay_dimensions(self):
     ndoverlay = NdOverlay({
         (0, 'A'): Curve([1, 2, 0]), (0, 'B'): Curve([1, 2, 1]),
         (1, 'A'): Curve([1, 2, 2]), (1, 'B'): Curve([1, 2, 3])},
                           ['num', 'cat']
     ).opts({
         'Curve': dict(
             color=dim('num').categorize({0: 'red', 1: 'blue'}),
             linestyle=dim('cat').categorize({'A': '-.', 'B': '-'})
         )
     })
     plot = mpl_renderer.get_plot(ndoverlay)
     for (num, cat), sp in plot.subplots.items():
         artist = sp.handles['artist']
         color = artist.get_color()
         if num == 0:
             self.assertEqual(color, 'red')
         else:
             self.assertEqual(color, 'blue')
         linestyle = artist.get_linestyle()
         if cat == 'A':
             self.assertEqual(linestyle, '-.')
         else:
             self.assertEqual(linestyle, '-')
Exemplo n.º 6
0
 def test_curve_style_mapping_ndoverlay_dimensions(self):
     ndoverlay = NdOverlay({
         (0, 'A'): Curve([1, 2, 0]), (0, 'B'): Curve([1, 2, 1]),
         (1, 'A'): Curve([1, 2, 2]), (1, 'B'): Curve([1, 2, 3])},
                           ['num', 'cat']
     ).opts({
         'Curve': dict(
             color=dim('num').categorize({0: 'red', 1: 'blue'}),
             line_dash=dim('cat').categorize({'A': 'solid', 'B': 'dashed'})
         )
     })
     plot = bokeh_renderer.get_plot(ndoverlay)
     for (num, cat), sp in plot.subplots.items():
         glyph = sp.handles['glyph']
         color = glyph.line_color
         if num == 0:
             self.assertEqual(color, 'red')
         else:
             self.assertEqual(color, 'blue')
         linestyle = glyph.line_dash
         if cat == 'A':
             self.assertEqual(linestyle, [])
         else:
             self.assertEqual(linestyle, [6])
Exemplo n.º 7
0
 def test_chord_node_color_style_mapping_update(self):
     hmap = HoloMap({0: self.make_chord(0), 1: self.make_chord(1)}).options(
         node_color=dim('Label').categorize({0: 'red', 1: 'green', 2: 'blue', 3: 'black'})
     )
     plot = mpl_renderer.get_plot(hmap)
     arcs = plot.handles['arcs']
     nodes = plot.handles['nodes']
     colors = np.array([
         [1, 0, 0, 1], [0, 0.501961, 0, 1], [0, 0, 1, 1]
     ])
     self.assertEqual(arcs.get_edgecolors(), colors)
     self.assertEqual(nodes.get_facecolors(), colors)
     plot.update((1,))
     colors = np.array([
         [0, 0.501961, 0, 1], [0, 0, 1, 1], [0, 0, 0, 1]
     ])
     self.assertEqual(arcs.get_edgecolors(), colors)
     self.assertEqual(nodes.get_facecolors(), colors)
Exemplo n.º 8
0
 def test_multi_dim_expression_not_applies(self):
     self.assertEqual((dim('foo')-dim('bar')).applies(self.dataset),
                      False)
Exemplo n.º 9
0
 def test_sub_transform(self):
     self.assertEqual((dim('int')-10).apply(self.dataset), self.linear_ints-10)
Exemplo n.º 10
0
 def test_min_transform(self):
     self.assertEqual(dim('float').min().apply(self.dataset),
                      self.linear_floats.min())
Exemplo n.º 11
0
 def test_rsub_transform(self):
     self.assertEqual((10-dim('int')).apply(self.dataset), 10-self.linear_ints)
Exemplo n.º 12
0
 def test_rdiv_transform(self):
     self.assertEqual((10./dim('int')).apply(self.dataset), 10./self.linear_ints)
Exemplo n.º 13
0
 def test_mod_transform(self):
     self.assertEqual((dim('int')%2).apply(self.dataset), self.linear_ints%2)
Exemplo n.º 14
0
 def test_rsub_transform(self):
     self.assertEqual((10-dim('int')).apply(self.dataset), 10-self.linear_ints)
Exemplo n.º 15
0
 def test_rmul_transform(self):
     self.assertEqual((10.*dim('float')).apply(self.dataset), self.linear_ints)
Exemplo n.º 16
0
 def test_rmod_transform(self):
     self.assertEqual((2%dim('int')).apply(self.dataset), 2%self.linear_ints)
Exemplo n.º 17
0
 def test_rfloor_div_transform(self):
     self.assertEqual((2//dim('int')).apply(self.dataset), 2//self.linear_ints)
Exemplo n.º 18
0
 def test_rdiv_transform(self):
     self.assertEqual((10./dim('int')).apply(self.dataset), 10./self.linear_ints)
Exemplo n.º 19
0
 def test_radd_transform(self):
     self.assertEqual((1+dim('float')).apply(self.dataset), 1+self.linear_floats)
Exemplo n.º 20
0
 def test_neg_transform(self):
     self.assertEqual(-dim('negative').apply(self.dataset), self.linear_floats)
Exemplo n.º 21
0
 def test_div_transform(self):
     self.assertEqual((dim('int')/10.).apply(self.dataset), self.linear_floats)
Exemplo n.º 22
0
 def test_ufunc_transform(self):
     self.assertEqual(np.sin(dim('float')).apply(self.dataset), np.sin(self.linear_floats))
Exemplo n.º 23
0
 def test_sub_transform(self):
     self.assertEqual((dim('int')-10).apply(self.dataset), self.linear_ints-10)
Exemplo n.º 24
0
 def test_astype_transform(self):
     self.assertEqual(dim('int').astype(str).apply(self.dataset),
                      self.linear_ints.astype(str))
Exemplo n.º 25
0
 def test_rmod_transform(self):
     self.assertEqual((2%dim('int')).apply(self.dataset), 2%self.linear_ints)
Exemplo n.º 26
0
 def test_cumsum_transform(self):
     self.assertEqual(dim('float').cumsum().apply(self.dataset),
                      self.linear_floats.cumsum())
Exemplo n.º 27
0
 def test_astype_transform(self):
     self.assertEqual(dim('int').astype(str).apply(self.dataset),
                      self.linear_ints.astype(str))
Exemplo n.º 28
0
 def test_min_transform(self):
     self.assertEqual(dim('float').min().apply(self.dataset),
                      self.linear_floats.min())
Exemplo n.º 29
0
 def test_chord_edge_color_style_mapping(self):
     g = self.chord.opts(style=dict(edge_color=dim('start').astype(str), edge_cmap=['#FFFFFF', '#000000']))
     plot = mpl_renderer.get_plot(g)
     edges = plot.handles['edges']
     self.assertEqual(edges.get_array(), np.array([0, 0, 1]))
     self.assertEqual(edges.get_clim(), (0, 2))
Exemplo n.º 30
0
 def test_round_transform(self):
     self.assertEqual(dim('float').round().apply(self.dataset),
                      self.linear_floats.round())
Exemplo n.º 31
0
 def test_abs_transform(self):
     expr = abs(dim('negative'))
     self.check_apply(expr, self.linear_floats)
Exemplo n.º 32
0
 def test_neg_transform(self):
     expr = -dim('negative')
     self.check_apply(expr, self.linear_floats)
Exemplo n.º 33
0
 def test_multi_dim_expression_applies(self):
     self.assertEqual((dim('int')-dim('float')).applies(self.dataset),
                      True)
Exemplo n.º 34
0
 def test_add_transform(self):
     expr = dim('float') + 1
     self.check_apply(expr, self.linear_floats+1)
Exemplo n.º 35
0
 def test_multi_dim_expression_partial_applies(self):
     self.assertEqual((dim('int')-dim('bar')).applies(self.dataset),
                      False)
Exemplo n.º 36
0
 def test_div_transform(self):
     expr = dim('int') / 10.
     self.check_apply(expr, self.linear_floats)
Exemplo n.º 37
0
 def test_add_transform(self):
     self.assertEqual((dim('float')+1).apply(self.dataset), self.linear_floats+1)
Exemplo n.º 38
0
 def test_floor_div_transform(self):
     expr = dim('int') // 2
     self.check_apply(expr, self.linear_ints//2)
Exemplo n.º 39
0
 def test_floor_div_transform(self):
     self.assertEqual((dim('int')//2).apply(self.dataset), self.linear_ints//2)
Exemplo n.º 40
0
 def test_mod_transform(self):
     expr = dim('int') % 2
     self.check_apply(expr, self.linear_ints % 2)
Exemplo n.º 41
0
 def test_pow_transform(self):
     self.assertEqual((dim('int')**2).apply(self.dataset), self.linear_ints**2)
Exemplo n.º 42
0
 def test_mul_transform(self):
     expr = dim('float') * 10.
     self.check_apply(expr, self.linear_ints.astype('float64'))
Exemplo n.º 43
0
 def test_radd_transform(self):
     self.assertEqual((1+dim('float')).apply(self.dataset), 1+self.linear_floats)
Exemplo n.º 44
0
 def test_pow_transform(self):
     expr = dim('int') ** 2
     self.check_apply(expr, self.linear_ints ** 2)
Exemplo n.º 45
0
 def test_rfloor_div_transform(self):
     self.assertEqual((2//dim('int')).apply(self.dataset), 2//self.linear_ints)
Exemplo n.º 46
0
 def test_sub_transform(self):
     expr = dim('int') - 10
     self.check_apply(expr, self.linear_ints - 10)
Exemplo n.º 47
0
 def test_rmul_transform(self):
     self.assertEqual((10.*dim('float')).apply(self.dataset), self.linear_ints)
Exemplo n.º 48
0
 def test_radd_transform(self):
     expr = 1 + dim('float')
     self.check_apply(expr, 1 + self.linear_floats)
Exemplo n.º 49
0
 def test_ufunc_transform(self):
     self.assertEqual(np.sin(dim('float')).apply(self.dataset), np.sin(self.linear_floats))
Exemplo n.º 50
0
 def test_rdiv_transform(self):
     expr = 10. / dim('int')
     self.check_apply(expr, 10. / self.linear_ints)
Exemplo n.º 51
0
 def test_cumsum_transform(self):
     self.assertEqual(dim('float').cumsum().apply(self.dataset),
                      self.linear_floats.cumsum())
Exemplo n.º 52
0
 def test_rfloor_div_transform(self):
     expr = 2 // dim('int')
     self.check_apply(expr, 2 // self.linear_ints)
Exemplo n.º 53
0
 def test_round_transform(self):
     self.assertEqual(dim('float').round().apply(self.dataset),
                      self.linear_floats.round())
Exemplo n.º 54
0
 def test_add_transform(self):
     self.assertEqual((dim('float')+1).apply(self.dataset), self.linear_floats+1)
Exemplo n.º 55
0
 def test_floor_div_transform(self):
     self.assertEqual((dim('int')//2).apply(self.dataset), self.linear_ints//2)
Exemplo n.º 56
0
 def test_mod_transform(self):
     self.assertEqual((dim('int')%2).apply(self.dataset), self.linear_ints%2)
Exemplo n.º 57
0
 def test_div_transform(self):
     self.assertEqual((dim('int')/10.).apply(self.dataset), self.linear_floats)
Exemplo n.º 58
0
 def test_multi_operator_expression_repr(self):
     self.assertEqual(repr(((dim('float')-2)*3)**2),
                      "((dim('float')-2)*3)**2")
Exemplo n.º 59
0
 def test_neg_transform(self):
     self.assertEqual(-dim('negative').apply(self.dataset), self.linear_floats)
Exemplo n.º 60
0
 def test_pow_transform(self):
     self.assertEqual((dim('int')**2).apply(self.dataset), self.linear_ints**2)