Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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"