Exemple #1
0
    def test_save_low(self):
        descA = owcolor.DiscAttrDesc(
            DiscreteVariable("varA", values=tuple("abc")))
        descA.name = "a2"
        descB = owcolor.DiscAttrDesc(
            DiscreteVariable("varB", values=tuple("abc")))
        descB.set_value(1, "X")
        descC = owcolor.ContAttrDesc(ContinuousVariable("varC"))
        descC.name = "c2"
        descD = owcolor.ContAttrDesc(ContinuousVariable("varD"))
        descD.palette_name = "linear_viridis"
        descE = owcolor.ContAttrDesc(ContinuousVariable("varE"))
        self.widget.disc_descs = [descA, descB]
        self.widget.cont_descs = [descC, descD, descE]

        with tempfile.TemporaryDirectory() as path:
            fname = os.path.join(path, "foo.colors")
            self.widget._save_var_defs(fname)
            with open(fname) as f:
                js = json.load(f)
            self.assertEqual(js["categorical"],
                             {"varA": {"rename": "a2"},
                              "varB": {"renamed_values": {"b": "X"}}})
            self.assertEqual(js["numeric"],
                             {"varC": {"rename": "c2"},
                              "varD": {"colors": "linear_viridis"}})
Exemple #2
0
    def test_to_dict(self):
        desc = owcolor.DiscAttrDesc(self.var)
        self.assertEqual(desc.to_dict(), {})
        desc2, warns = owcolor.DiscAttrDesc.from_dict(self.var, desc.to_dict())
        self.assertEqual(warns, [])
        self.assertIsNone(desc2.new_name)
        self.assertIsNone(desc2.new_values)
        self.assertIsNone(desc2.new_colors)

        desc.name = "y"
        self.assertEqual(desc.to_dict(), {"rename": "y"})

        desc2, warns = owcolor.DiscAttrDesc.from_dict(self.var, desc.to_dict())
        self.assertEqual(warns, [])
        self.assertEqual(desc2.new_name, "y")
        self.assertIsNone(desc2.new_values)
        self.assertIsNone(desc2.new_colors)

        desc.set_value(1, "b2")
        desc.set_color(1, [1, 2, 3])
        desc.set_color(2, [2, 3, 4])
        self.assertEqual(
            desc.to_dict(), {
                "rename": "y",
                "renamed_values": {
                    "b": "b2"
                },
                "colors": {
                    "a": color_to_hex(desc.colors[0]),
                    "b": "#010203",
                    "c": "#020304"
                }
            })

        desc2, warns = owcolor.DiscAttrDesc.from_dict(self.var, desc.to_dict())
        self.assertEqual(warns, [])
        cols = list(desc.colors)
        cols[1:] = [[1, 2, 3], [2, 3, 4]]
        np.testing.assert_equal(desc2.colors, cols)
        self.assertEqual(desc2.values, ("a", "b2", "c"))

        desc2, warns = owcolor.DiscAttrDesc.from_dict(
            self.var,
            {
                "rename": "y",
                "renamed_values": {
                    "b": "b2",
                    "d": "x"
                },  # d is redundant
                "colors": {
                    "b": "#010203",
                    "c": "#020304",
                    "d": "#123456"
                }  # d is redundant and must be ignored
            })
        self.assertEqual(warns, [])
        cols = list(desc.colors)
        cols[1:] = [[1, 2, 3], [2, 3, 4]]
        np.testing.assert_equal(desc2.colors, cols)
        self.assertEqual(desc2.values, ("a", "b2", "c"))
Exemple #3
0
 def _create_descs(self):
     disc_vars = [DiscreteVariable(f"var{c}", values=("a", "b", "c"))
                  for c in "AB"]
     cont_vars = [ContinuousVariable(f"var{c}") for c in "CDE"]
     self.widget.disc_descs = [owcolor.DiscAttrDesc(v) for v in disc_vars]
     self.widget.cont_descs = [owcolor.ContAttrDesc(v) for v in cont_vars]
     return disc_vars, cont_vars
    def test_compute_colors(self):
        heart_disease = Table.from_file("heart_disease.tab")
        colors = compute_colors(heart_disease)
        self.assertTupleEqual(colors.shape, heart_disease.X.shape + (3,))

        # the way to add colors to attributes
        [owcolor.DiscAttrDesc(a) for a in heart_disease.domain.attributes]

        colors = compute_colors(heart_disease)
        self.assertTupleEqual(colors.shape, heart_disease.X.shape + (3,))

        titanic = Table("titanic")
        model = SVMLearner()(titanic)
        titanic_proc = model.data_to_model_domain(titanic)

        colors = compute_colors(titanic_proc)
        self.assertTupleEqual(colors.shape, titanic_proc.X.shape + (3,))
Exemple #5
0
 def setUp(self):
     x = DiscreteVariable("x", ["a", "b", "c"])
     self.desc = owcolor.DiscAttrDesc(x)
Exemple #6
0
 def setUp(self):
     x = DiscreteVariable("x", list("abc"))
     y = DiscreteVariable("y", list("def"))
     z = DiscreteVariable("z", list("ghijk"))
     self.descs = [owcolor.DiscAttrDesc(v) for v in (x, y, z)]
     self.model = owcolor.DiscColorTableModel()