在F#中将图表排除在列表之外

时间:2018-03-12 08:50:07

标签: charts f# fsharpchart

我正在尝试使用FSharp.Charting组合一些柱形图,但我被卡住了。

每次我的递归函数执行某些操作时,它都会创建一个图表(ChartTypes.GenericChart)。然后,我将这个新图表添加到列表(ChartTypes.GenericChart列表)。实际上一切看起来都很不错。 一旦函数离开递归操作,它就会创建图表。问题是我无法将列表中的所有图表组合在一起,所以会发生的事情是我最终得到了大量的列图,每个列表项都有一个。

我正在尝试这样的事情:

for x in chartList do
                Chart.Combine ([
                                x
                                |> Chart.WithXAxis (LabelStyle = ChartTypes.LabelStyle(Interval=1.0))
                                |> Chart.WithYAxis (Min=0.75)              
                                ]
                                )
                |> Chart.Show

正如我所说..输出是所有图形分离而不仅仅是一个组合。有人有想法吗?

谢谢。

1 个答案:

答案 0 :(得分:5)

Chart.Combine需要一个图表列表作为输入,但是您使用for..in..do逐个为它们提供单独的图表。

尝试首先将样式函数应用于图表,然后将它们全部组合在一起。

chartList
|> List.map (Chart.WithXAxis (LabelStyle = ChartTypes.LabelStyle(Interval=1.0)) >> Chart.WithYAxis (Min=0.75))
|> Chart.Combine
|> Chart.Show