Example #1
0
 def test_area_selection_categorical(self):
     area = Area((['B', 'A', 'C', 'D', 'E'], [3, 2, 1, 3, 4]))
     expr, bbox, region = area._get_selection_expr_for_stream_value(
         bounds=(0, 1, 2, 3), x_selection=['B', 'A', 'C']
     )
     self.assertEqual(bbox, {'x': ['B', 'A', 'C']})
     self.assertEqual(expr.apply(area), np.array([True, True, True, False, False]))
     self.assertEqual(region, NdOverlay({0: VSpan(0, 2)}))
Example #2
0
 def test_area_selection_numeric_index_cols(self):
     area = Area([3, 2, 1, 3, 2])
     expr, bbox, region = area._get_selection_expr_for_stream_value(
         bounds=(1, 0, 3, 2), index_cols=['y']
     )
     self.assertEqual(bbox, {'x': (1, 3)})
     self.assertEqual(expr.apply(area), np.array([False, True, True, False, True]))
     self.assertEqual(region, None)
Example #3
0
 def test_area_selection_numeric_inverted(self):
     area = Area([3, 2, 1, 3, 4]).opts(invert_axes=True)
     expr, bbox, region = area._get_selection_expr_for_stream_value(
         bounds=(0, 1, 2, 3))
     self.assertEqual(bbox, {'x': (1, 3)})
     self.assertEqual(expr.apply(area),
                      np.array([False, True, True, True, False]))
     self.assertEqual(region, NdOverlay({0: HSpan(1, 3)}))