def test_scatter_colormap(dataframe, colormap, color, with_plotting_backend): from altair_pandas import scatter_matrix if color == "z": dataframe["z"] = ["A", "B", "C", "D", "E"] chart = scatter_matrix(dataframe, color=color, colormap=colormap) spec = chart.to_dict() assert spec["spec"]["encoding"]["color"]["scale"]["scheme"] == colormap
def test_scatter_multiindex(indx, data, with_plotting_backend): from altair_pandas import scatter_matrix chart = scatter_matrix(data) spec = chart.to_dict() cols = ({"x"} if indx == "index" else ({ "('b', 2)", "('b', 1)", "('c', 2)", "('a', 2)", "('c', 1)", "('a', 1)" })) for k, v in spec["repeat"].items(): assert set(v) == cols
def test_scatter_matrix(dataframe, alpha, color, tooltip, with_plotting_backend): from altair_pandas import scatter_matrix dataframe["z"] = ["A", "B", "C", "D", "E"] chart = scatter_matrix(dataframe, alpha=alpha, color=color, tooltip=tooltip) spec = chart.to_dict() cols = dataframe._get_numeric_data().columns.astype(str).tolist() for k, v in spec["repeat"].items(): assert set(v) == set(cols) if color is None: assert "color" not in spec["spec"]["encoding"] elif color == "x": assert spec["spec"]["encoding"]["color"] == { "type": "quantitative", "field": "x", } assert spec["spec"]["encoding"]["opacity"] == {"value": alpha} if tooltip is None: assert set(el["field"] for el in spec["spec"]["encoding"]["tooltip"]) == { "x", "y", "z", } elif tooltip == ["x", "y"]: assert len(spec["spec"]["encoding"]["tooltip"]) == 2 assert set(el["field"] for el in spec["spec"]["encoding"]["tooltip"]) == { "x", "y", } else: assert len(spec["spec"]["encoding"]["tooltip"]) == 2 assert set(el["field"] for el in spec["spec"]["encoding"]["tooltip"]) == { "x", "z", } assert spec["spec"]["encoding"]["tooltip"][0]["format"] == "$.2f"