コード例 #1
0
        private static void test1()
        {
            var url = @"https://vega.github.io/vega-datasets/data/movies.json";

            var selection = Vega.MultiSelection("click")
                            //.SetOn("mousemove{100}")
                            .SetEncodings("x");

            var x = Vega.PcField("IMDB_Rating:Q").SetBin(true);
            var y = Vega.PcField("Rotten_Tomatoes_Rating:Q").SetBin(true);

            var rect = Vega.SetData(url)
                       .SetMark(Vega.Marks.Rect)
                       .SetEncoding(en =>
            {
                en.X     = x;
                en.Y     = y;
                en.Color = Vega.McField()
                           .SetAggregate("count")
                           .SetScale("greenblue")
                           .SetLegend("总数");
            });

            var circ = Vega.SetData(url)
                       .SetMark(Vega.Marks.Point)
                       .SetEncoding(en =>
            {
                en.X     = x;
                en.Y     = y;
                en.Color = Vega.McField().SetColor("grey");
                en.Size  = Vega.McField()
                           .SetAggregate("count")
                           .SetLegend("选中的总数");
            })
                       .SetFilter(selection);


            var bar = Vega.SetData(url)
                      .SetMark(Vega.Marks.Bar)
                      .SetEncoding(en =>
            {
                en.X     = Vega.PcField("Major_Genre:N");
                en.Y     = Vega.PcField().SetAggregate("count");
                en.Color = Vega.Condition().AddSelection(selection).AddValue(Color.SteelBlue)
                           .ToColor(Color.Gray);
            })
                      .SetSelection(selection);

            ((rect + circ) | bar)
            .SetResolveLegend(g =>
            {
                g.Color = ResolveValue.Independent;
                g.Size  = ResolveValue.Independent;
            })
            .ToFile("res.html");
        }