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