def test_color_numeric_int_float_mix(self): z = pd.Series([1, 2], name="z") s = Nominal(order=[1.0, 2])._setup(z, Color()) c1, c2 = color_palette(n_colors=2) null = (np.nan, np.nan, np.nan) assert_array_equal(s(z), [c1, null, c2])
def test_color_named_values(self, t, x): name = "viridis" cmap = color_palette(name, as_cmap=True) s = Temporal(name)._setup(t, Color()) normed = (x - x.min()) / (x.max() - x.min()) assert_array_equal(s(t), cmap(normed)[:, :3]) # FIXME RGBA
def test_color_defaults(self, t, x): cmap = color_palette("ch:", as_cmap=True) s = Temporal()._setup(t, Color()) normed = (x - x.min()) / (x.max() - x.min()) assert_array_equal(s(t), cmap(normed)[:, :3]) # FIXME RGBA
def test_color_unknown_palette(self, x): pal = "not_a_palette" err = f"{pal} is not a valid palette name" with pytest.raises(ValueError, match=err): Nominal(pal)._setup(x, Color())
def test_color_alpha_in_palette(self, x): cs = [(.2, .2, .3, .5), (.1, .2, .3, 1), (.5, .6, .2, 0)] s = Nominal(cs)._setup(x, Color()) assert_array_equal(s(x), [cs[0], cs[1], cs[2], cs[1]])
def test_color_numeric_with_order_subset(self, y): s = Nominal(order=[-1.5, 1])._setup(y, Color()) c1, c2 = color_palette(n_colors=2) null = (np.nan, np.nan, np.nan) assert_array_equal(s(y), [c2, c1, null, c1])
def test_color_dict_palette(self, x): cs = color_palette("crest", 3) pal = dict(zip("bac", cs)) s = Nominal(pal)._setup(x, Color()) assert_array_equal(s(x), [cs[1], cs[2], cs[0], cs[2]])
def test_color_callable_values(self, x): cmap = color_palette("light:r", as_cmap=True) s = Continuous(cmap)._setup(x, Color()) assert_array_equal(s(x), cmap([0, .25, 1])[:, :3]) # FIXME RGBA
def test_color_named_palette(self, x): pal = "flare" s = Nominal(pal)._setup(x, Color()) cs = color_palette(pal, 3) assert_array_equal(s(x), [cs[0], cs[1], cs[2], cs[1]])
def test_color_list_palette(self, x): cs = color_palette("crest", 3) s = Nominal(cs)._setup(x, Color()) assert_array_equal(s(x), [cs[0], cs[1], cs[2], cs[1]])
def test_color_defaults(self, x): s = Nominal()._setup(x, Color()) cs = color_palette() assert_array_equal(s(x), [cs[0], cs[1], cs[2], cs[1]])
def test_color_with_transform(self, x): x = pd.Series([1, 10, 100], name="x", dtype=float) cmap = color_palette("ch:", as_cmap=True) s = Continuous(trans="log")._setup(x, Color()) assert_array_equal(s(x), cmap([0, .5, 1])[:, :3]) # FIXME RGBA
def test_color_with_norm(self, x): cmap = color_palette("ch:", as_cmap=True) s = Continuous(norm=(3, 7))._setup(x, Color()) assert_array_equal(s(x), cmap([-.5, 0, 1.5])[:, :3]) # FIXME RGBA
def test_color_defaults(self, x): cmap = color_palette("ch:", as_cmap=True) s = Continuous()._setup(x, Color()) assert_array_equal(s(x), cmap([0, .25, 1])[:, :3]) # FIXME RGBA
def test_color_numeric_data(self, y): s = Nominal()._setup(y, Color()) cs = color_palette() assert_array_equal(s(y), [cs[1], cs[0], cs[2], cs[0]])
def test_color_named_values(self, x): cmap = color_palette("viridis", as_cmap=True) s = Continuous("viridis")._setup(x, Color()) assert_array_equal(s(x), cmap([0, .25, 1])[:, :3]) # FIXME RGBA
def test_color_tuple_values(self, x): cmap = color_palette("blend:b,g", as_cmap=True) s = Continuous(("b", "g"))._setup(x, Color()) assert_array_equal(s(x), cmap([0, .25, 1])[:, :3]) # FIXME RGBA