public static SamplesResult NewMethod6() { var url = @"https://vega.github.io/vega-datasets/data/cars.json"; var selection = Vega.IntervalSelection("pts") .SetBind(IntervalSelectionBind.Scales); var cond = Vega.Condition() .AddFiled(Vega.PcField("Origin:N")) .AddSelection(selection); var cm = Vega.SetData(url) .SetMark(Vega.Marks.Point) .SetEncoding(en => { en.Y = Vega.PcField().SetName("Horsepower:Q"); en.Color = cond.ToColor(Color.Gray); }) .SetSelection(selection); var left = cm.SetEncoding(en => en.X = Vega.PcField("Acceleration:Q")); var right = cm.SetEncoding(en => en.X = Vega.PcField("Miles_per_Gallon:Q")); return(new SamplesResult { Desc = @"2个表相同的y轴,不同的x轴。 能用鼠标点击拖动移动图表显示范围,用滚轮放大或缩小范围。 并且2个表是同步更新", Html = (left | right).ToHtml() }); }
public static SamplesResult NewMethod4() { var url = @"https://vega.github.io/vega-datasets/data/stocks.csv"; var cond = Vega.Condition() .AddTest(d => d.Number("price") > 400) .AddValue(Color.Red); var cm = Vega.SetData(url) .SetEncoding(en => { en.X = Vega.PcField().SetName("date:T"); en.Y = Vega.PcField().SetName("price:Q"); en.Color = cond.ToColor(Color.Blue); }) .SetFilter(d => d.String("symbol") == "GOOG") ; var line = cm.SetMark(Vega.Marks.Line); var point = cm.SetMark(Vega.Marks.Point); return(new SamplesResult { Desc = "设置条件,价格高于400的,点图中的点会设置为红色", Html = (line + point).ToHtml() }); }
public static SamplesResult NewMethod7() { var url = @"https://vega.github.io/vega-datasets/data/cars.json"; //设置范围选择 var selection = Vega.IntervalSelection("pts"); //设置条件 var cond = Vega.Condition() .AddFiled(Vega.PcField("Origin:N")) .AddSelection(selection); var cm = Vega.SetData(url) //数据 .SetMark(Vega.Marks.Point) // 图表形状 .SetEncoding(en => //数据对应 { en.Y = Vega.PcField("Horsepower:Q"); en.Color = cond.ToColor(Color.Gray); }) .SetSelection(selection); var left = cm.SetEncoding(en => en.X = Vega.PcField("Acceleration:Q")); var right = cm.SetEncoding(en => en.X = Vega.PcField("Miles_per_Gallon:Q")); //左右2张图 return(new SamplesResult { Desc = @"范围选择,鼠标左键点击可画出范围框,然后点击框能拖动。 框范围内正常颜色,其他为灰色", Html = (left | right).ToHtml() }); }
private static void NewMethod7() { var url = @"https://vega.github.io/vega-datasets/data/cars.json"; //设置范围选择 var selection = Vega.IntervalSelection("pts"); //设置条件 var cond = Vega.Condition() .AddFiled(Vega.PcField("Origin:N")) .AddSelection(selection); var cm = Vega.SetData(url) //数据 .SetMark(Vega.Marks.Point) // 图表形状 .SetEncoding(en => //数据对应 { en.Y = Vega.PcField("Horsepower:Q"); en.Color = cond.ToColor(Color.Gray); }) .SetSelection(selection); var left = cm.SetEncoding(en => en.X = Vega.PcField("Acceleration:Q")); var right = cm.SetEncoding(en => en.X = Vega.PcField("Miles_per_Gallon:Q")); //左右2张图 (left | right).ToFile("res.html"); }
public static SamplesResult NewMethod5() { var url = @"https://vega.github.io/vega-datasets/data/cars.json"; var selection = Vega.SingleSelection("pts").SetOn("mouseover"); var cond = Vega.Condition() .AddFiled(Vega.PcField().SetAggregate("count").SetType(FieldType.Quantitative)) .AddSelection(selection); var cm = Vega.SetData(url) .SetEncoding(en => { en.X = Vega.PcField().SetName("Origin:O"); en.Y = Vega.PcField().SetName("Cylinders:O"); en.Color = cond.ToColor(Color.Gray); }) .SetSelection(selection); var rect = cm.SetMark(Vega.Marks.Rect); return(new SamplesResult { Desc = "鼠标经过,高亮颜色,其他地方灰色", Html = rect.ToHtml() }); }
private static void NewMethod5() { var url = @"https://vega.github.io/vega-datasets/data/cars.json"; var selection = Vega.SingleSelection("pts").SetOn("mouseover") .SetNearest(true); var cond = Vega.Condition() .AddFiled(Vega.PcField().SetAggregate("count").SetType(FieldType.Quantitative)) .AddSelection(selection); var cm = Vega.SetData(url) .SetEncoding(en => { en.X = Vega.PcField().SetName("Origin:O"); en.Y = Vega.PcField().SetName("Cylinders:O"); en.Color = cond.ToColor(Color.Gray); }) .SetSelection(selection); var rect = cm.SetMark(Vega.Marks.Rect); rect.ToFile("res.html"); }
//[Fact] public void Test_ToJsonView() { var data = new RecordArrayData <MyClass>(new[] { new MyClass { Name = "a", Value = 12 }, new MyClass { Name = "b", Value = 20 }, new MyClass { Name = "c", Value = 25 }, }); var mark = new Bar(); var ec = new Encoding { X = Vega.PcField("Name"), Y = Vega.PcField("Value:Q") }; var eg = new SingleViewSpecification { Data = data, Encoding = ec, Mark = mark }; var act = eg.ToJsonView(); var exp = File.ReadAllText(@"Engine\Test_ToJsonView.txt", System.Text.Encoding.UTF8); Assert.Equal(exp, act); }
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"); }
private static void NewMethod2() { var url = @"https://vega.github.io/vega-datasets/data/movies.json"; Vega.SetData(url) .SetMark(Vega.Marks.Bar) .SetEncoding(en => { en.X = Vega.PcField("IMDB_Rating:Q").SetBin(true); en.Y = Vega.PcField().SetAggregate("count"); }) .ToFile("res.html"); }
/// <summary> /// https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding /// </summary> private static void NewMethod8() { var url = @"https://vega.github.io/vega-datasets/data/population.json"; var cm = Vega.SetData(url) .SetMark(Vega.Marks.Bar) .SetEncoding(en => { en.Y = Vega.PcField().SetName("age:O").SetSort("-x"); en.X = Vega.PcField().SetName("people:Q") .SetAggregate("sum"); }) .SetFilter(d => d.Number("year") == 2000); cm.ToFile("res.html"); }
public static SamplesResult NewMethod2() { var url = @"https://vega.github.io/vega-datasets/data/movies.json"; var res = Vega.SetData(url) .SetMark(Vega.Marks.Bar) .SetEncoding(en => { en.X = Vega.PcField("IMDB_Rating:Q").SetBin(true); en.Y = Vega.PcField().SetAggregate("count"); }) .ToHtml(); return(new SamplesResult { Desc = "柱状图,y轴直接指定聚合 count,按x轴统计个数", Html = res }); }
/// <summary> /// https://vega.github.io/vega-lite/docs/sort.html#sort-by-encoding /// </summary> public static SamplesResult NewMethod8() { var url = @"https://vega.github.io/vega-datasets/data/population.json"; var cm = Vega.SetData(url) .SetMark(Vega.Marks.Bar) .SetEncoding(en => { en.Y = Vega.PcField().SetName("age:O").SetSort("-x"); en.X = Vega.PcField().SetName("people:Q") .SetAggregate("sum"); }) .SetFilter(d => d.Number("year") == 2000); return(new SamplesResult { Desc = "Y轴按x轴值倒序排序", Html = cm.ToHtml() }); }
private static void NewMethod3() { var url = @"https://vega.github.io/vega-datasets/data/stocks.csv"; var cm = Vega.SetData(url) .SetEncoding(en => { en.X = Vega.PcField("date:T"); en.Y = Vega.PcField("price:Q"); en.Color = Vega.McField("symbol:N"); }) .SetFilter(d => d.String("symbol") == "GOOG") //.SetFilter("datum.symbol == 'GOOG'") ; var line = cm.SetMark(Vega.Marks.Line); var point = cm.SetMark(Vega.Marks.Point); (line + point).ToFile("res.html"); }
public static SamplesResult NewMethod3() { var url = @"https://vega.github.io/vega-datasets/data/stocks.csv"; var cm = Vega.SetData(url) .SetEncoding(en => { en.X = Vega.PcField("date:T"); en.Y = Vega.PcField("price:Q"); en.Color = Vega.McField("symbol:N"); }) .SetFilter(d => d.String("symbol") == "GOOG") //.SetFilter("datum.symbol == 'GOOG'") ; var line = cm.SetMark(Vega.Marks.Line); var point = cm.SetMark(Vega.Marks.Point); return(new SamplesResult { Desc = "点图 + 线图 叠加", Html = (line + point).ToHtml() }); }
private static void NewMethod4() { var url = @"https://vega.github.io/vega-datasets/data/stocks.csv"; var cond = Vega.Condition() .AddTest(d => d.Number("price") > 400) .AddValue(Color.Red); var cm = Vega.SetData(url) .SetEncoding(en => { en.X = Vega.PcField().SetName("date:T"); en.Y = Vega.PcField().SetName("price:Q"); en.Color = cond.ToColor(Color.Blue); }) .SetFilter(d => d.String("symbol") == "GOOG") ; var line = cm.SetMark(Vega.Marks.Line); var point = cm.SetMark(Vega.Marks.Point); (line + point).ToFile("res.html"); }