def test_stack_area_ndoverlay(self): areas = NdOverlay([(0, Area([1, 2, 3])), (1, Area([1, 2, 3]))]) stacked = Area.stack(areas) area1 = Area(([0, 1, 2], [1, 2, 3], [0, 0, 0]), vdims=['y', 'Baseline']) area2 = Area(([0, 1, 2], [2, 4, 6], [1, 2, 3]), vdims=['y', 'Baseline']) self.assertEqual(stacked, NdOverlay([(0, area1), (1, area2)]))
def test_stack_area_overlay(self): areas = Area([1, 2, 3]) * Area([1, 2, 3]) stacked = Area.stack(areas) area1 = Area(([0, 1, 2], [1, 2, 3], [0, 0, 0]), vdims=['y', 'Baseline']) area2 = Area(([0, 1, 2], [2, 4, 6], [1, 2, 3]), vdims=['y', 'Baseline']) self.assertEqual(stacked, area1 * area2)
def test_area_aggregate_simple_count(self): area = Area([1, 2, 1]) agg = rasterize(area, width=4, height=4, y_range=(0, 3), dynamic=False) xs = [0.25, 0.75, 1.25, 1.75] ys = [0.375, 1.125, 1.875, 2.625] arr = np.array([[1, 1, 1, 1], [1, 1, 1, 1], [0, 1, 1, 0], [0, 0, 0, 0]]) expected = Image((xs, ys, arr), vdims='count') self.assertEqual(agg, expected)
def test_area_aggregate_crossover_count(self): area = Area([-1, 2, 3]) agg = rasterize(area, width=4, height=4, y_range=(-3, 3), dynamic=False) xs = [0.25, 0.75, 1.25, 1.75] ys = [-2.25, -0.75, 0.75, 2.25] arr = np.array([[0, 0, 0, 0], [1, 0, 0, 0], [1, 1, 1, 1], [0, 0, 1, 1]]) expected = Image((xs, ys, arr), vdims='count') self.assertEqual(agg, expected)
def test_area_string_signature(self): area = Area([], 'a', 'b') self.assertEqual(area.kdims, [Dimension('a')]) self.assertEqual(area.vdims, [Dimension('b')])
def test_univariate_kde_nans(self): kde = univariate_kde(self.dist_nans, n_samples=5, bin_range=(0, 4)) xs = np.arange(5) ys = [0, 0, 0, 0, 0] area = Area((xs, ys), 'Value', ('Value_density', 'Value Density')) self.assertEqual(kde, area)
def test_univariate_kde_flat_distribution(self): dist = Distribution([1, 1, 1]) kde = univariate_kde(dist, n_samples=5, bin_range=(0, 4)) area = Area([], 'Value', ('Value_density', 'Value Density')) self.assertEqual(kde, area)
def test_univariate_kde(self): kde = univariate_kde(self.dist, n_samples=5, bin_range=(0, 4)) xs = np.arange(5) ys = [0.17594505, 0.23548218, 0.23548218, 0.17594505, 0.0740306] area = Area((xs, ys), 'Value', ('Value_density', 'Value Density')) self.assertEqual(kde, area)