我想绘制我在deedle frame中保存的分组数据。
e.g。从:
开始let fr =
Frame.ofColumns [
"name" =?> series [(1, "a"); (2, "b"); (3, "c"); (4, "c"); (5, "c")]
"data" =?> series [(1, 11.); (2, 12.); (3, 13.); (4, 10.); (5, 7.)]
"order" =?> series [(1, 1); (2, 1); (3, 1); (4, 2); (5, 3)]
]
|> Frame.groupRowsByString "name"
我想以某种方式将它传递给Chart.Line + Chart.Combine并最终得到一个图表,显示每个分组系列的趋势。
是否有解决方案,或者我需要手动将帧解包到观察列表中?
答案 0 :(得分:1)
我是否正确理解您是否希望根据名称为每个组绘制折线图(即名称为a
的一个折线图,一个名称为b
等等)?
在这种情况下,您可以使用Frame.nest
创建一系列框架 - 外部系列将由索引的第一部分(名称)编制索引,嵌套框架将包含每个组的值
然后你可以得到观察结果(组名和一个框架),并使用Chart.Line
绘制每个组的值,然后组合这样的折线图序列:
fr
|> Frame.nest
|> Series.observations
|> Seq.map (fun (k, frame) -> Chart.Line(frame?data, Name=k))
|> Chart.Combine
|> Chart.WithLegend()