Exemple #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, '-')
Exemple #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])
 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})
 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]
     ]))
Exemple #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, '-')
Exemple #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])
 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)
Exemple #8
0
 def test_multi_dim_expression_not_applies(self):
     self.assertEqual((dim('foo')-dim('bar')).applies(self.dataset),
                      False)
Exemple #9
0
 def test_sub_transform(self):
     self.assertEqual((dim('int')-10).apply(self.dataset), self.linear_ints-10)
Exemple #10
0
 def test_min_transform(self):
     self.assertEqual(dim('float').min().apply(self.dataset),
                      self.linear_floats.min())
Exemple #11
0
 def test_rsub_transform(self):
     self.assertEqual((10-dim('int')).apply(self.dataset), 10-self.linear_ints)
Exemple #12
0
 def test_rdiv_transform(self):
     self.assertEqual((10./dim('int')).apply(self.dataset), 10./self.linear_ints)
Exemple #13
0
 def test_mod_transform(self):
     self.assertEqual((dim('int')%2).apply(self.dataset), self.linear_ints%2)
Exemple #14
0
 def test_rsub_transform(self):
     self.assertEqual((10-dim('int')).apply(self.dataset), 10-self.linear_ints)
Exemple #15
0
 def test_rmul_transform(self):
     self.assertEqual((10.*dim('float')).apply(self.dataset), self.linear_ints)
Exemple #16
0
 def test_rmod_transform(self):
     self.assertEqual((2%dim('int')).apply(self.dataset), 2%self.linear_ints)
Exemple #17
0
 def test_rfloor_div_transform(self):
     self.assertEqual((2//dim('int')).apply(self.dataset), 2//self.linear_ints)
Exemple #18
0
 def test_rdiv_transform(self):
     self.assertEqual((10./dim('int')).apply(self.dataset), 10./self.linear_ints)
Exemple #19
0
 def test_radd_transform(self):
     self.assertEqual((1+dim('float')).apply(self.dataset), 1+self.linear_floats)
Exemple #20
0
 def test_neg_transform(self):
     self.assertEqual(-dim('negative').apply(self.dataset), self.linear_floats)
Exemple #21
0
 def test_div_transform(self):
     self.assertEqual((dim('int')/10.).apply(self.dataset), self.linear_floats)
Exemple #22
0
 def test_ufunc_transform(self):
     self.assertEqual(np.sin(dim('float')).apply(self.dataset), np.sin(self.linear_floats))
Exemple #23
0
 def test_sub_transform(self):
     self.assertEqual((dim('int')-10).apply(self.dataset), self.linear_ints-10)
Exemple #24
0
 def test_astype_transform(self):
     self.assertEqual(dim('int').astype(str).apply(self.dataset),
                      self.linear_ints.astype(str))
Exemple #25
0
 def test_rmod_transform(self):
     self.assertEqual((2%dim('int')).apply(self.dataset), 2%self.linear_ints)
Exemple #26
0
 def test_cumsum_transform(self):
     self.assertEqual(dim('float').cumsum().apply(self.dataset),
                      self.linear_floats.cumsum())
Exemple #27
0
 def test_astype_transform(self):
     self.assertEqual(dim('int').astype(str).apply(self.dataset),
                      self.linear_ints.astype(str))
Exemple #28
0
 def test_min_transform(self):
     self.assertEqual(dim('float').min().apply(self.dataset),
                      self.linear_floats.min())
Exemple #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))
Exemple #30
0
 def test_round_transform(self):
     self.assertEqual(dim('float').round().apply(self.dataset),
                      self.linear_floats.round())
Exemple #31
0
 def test_abs_transform(self):
     expr = abs(dim('negative'))
     self.check_apply(expr, self.linear_floats)
Exemple #32
0
 def test_neg_transform(self):
     expr = -dim('negative')
     self.check_apply(expr, self.linear_floats)
Exemple #33
0
 def test_multi_dim_expression_applies(self):
     self.assertEqual((dim('int')-dim('float')).applies(self.dataset),
                      True)
Exemple #34
0
 def test_add_transform(self):
     expr = dim('float') + 1
     self.check_apply(expr, self.linear_floats+1)
Exemple #35
0
 def test_multi_dim_expression_partial_applies(self):
     self.assertEqual((dim('int')-dim('bar')).applies(self.dataset),
                      False)
Exemple #36
0
 def test_div_transform(self):
     expr = dim('int') / 10.
     self.check_apply(expr, self.linear_floats)
Exemple #37
0
 def test_add_transform(self):
     self.assertEqual((dim('float')+1).apply(self.dataset), self.linear_floats+1)
Exemple #38
0
 def test_floor_div_transform(self):
     expr = dim('int') // 2
     self.check_apply(expr, self.linear_ints//2)
Exemple #39
0
 def test_floor_div_transform(self):
     self.assertEqual((dim('int')//2).apply(self.dataset), self.linear_ints//2)
Exemple #40
0
 def test_mod_transform(self):
     expr = dim('int') % 2
     self.check_apply(expr, self.linear_ints % 2)
Exemple #41
0
 def test_pow_transform(self):
     self.assertEqual((dim('int')**2).apply(self.dataset), self.linear_ints**2)
Exemple #42
0
 def test_mul_transform(self):
     expr = dim('float') * 10.
     self.check_apply(expr, self.linear_ints.astype('float64'))
Exemple #43
0
 def test_radd_transform(self):
     self.assertEqual((1+dim('float')).apply(self.dataset), 1+self.linear_floats)
Exemple #44
0
 def test_pow_transform(self):
     expr = dim('int') ** 2
     self.check_apply(expr, self.linear_ints ** 2)
Exemple #45
0
 def test_rfloor_div_transform(self):
     self.assertEqual((2//dim('int')).apply(self.dataset), 2//self.linear_ints)
Exemple #46
0
 def test_sub_transform(self):
     expr = dim('int') - 10
     self.check_apply(expr, self.linear_ints - 10)
Exemple #47
0
 def test_rmul_transform(self):
     self.assertEqual((10.*dim('float')).apply(self.dataset), self.linear_ints)
Exemple #48
0
 def test_radd_transform(self):
     expr = 1 + dim('float')
     self.check_apply(expr, 1 + self.linear_floats)
Exemple #49
0
 def test_ufunc_transform(self):
     self.assertEqual(np.sin(dim('float')).apply(self.dataset), np.sin(self.linear_floats))
Exemple #50
0
 def test_rdiv_transform(self):
     expr = 10. / dim('int')
     self.check_apply(expr, 10. / self.linear_ints)
Exemple #51
0
 def test_cumsum_transform(self):
     self.assertEqual(dim('float').cumsum().apply(self.dataset),
                      self.linear_floats.cumsum())
Exemple #52
0
 def test_rfloor_div_transform(self):
     expr = 2 // dim('int')
     self.check_apply(expr, 2 // self.linear_ints)
Exemple #53
0
 def test_round_transform(self):
     self.assertEqual(dim('float').round().apply(self.dataset),
                      self.linear_floats.round())
Exemple #54
0
 def test_add_transform(self):
     self.assertEqual((dim('float')+1).apply(self.dataset), self.linear_floats+1)
Exemple #55
0
 def test_floor_div_transform(self):
     self.assertEqual((dim('int')//2).apply(self.dataset), self.linear_ints//2)
Exemple #56
0
 def test_mod_transform(self):
     self.assertEqual((dim('int')%2).apply(self.dataset), self.linear_ints%2)
Exemple #57
0
 def test_div_transform(self):
     self.assertEqual((dim('int')/10.).apply(self.dataset), self.linear_floats)
Exemple #58
0
 def test_multi_operator_expression_repr(self):
     self.assertEqual(repr(((dim('float')-2)*3)**2),
                      "((dim('float')-2)*3)**2")
Exemple #59
0
 def test_neg_transform(self):
     self.assertEqual(-dim('negative').apply(self.dataset), self.linear_floats)
Exemple #60
0
 def test_pow_transform(self):
     self.assertEqual((dim('int')**2).apply(self.dataset), self.linear_ints**2)