我正在尝试从FSharp Charting实施实时图表。文档here为实时折线图提供类型签名,如下所示:
static member LiveChart.Line : data:IObservable<#seq<'a1 * 'a2>> * ?Name:string * ?Title:string * ?Color:Color * ?XTitle:string * ?YTitle:string -> GenericChart (requires 'a1 :> key and 'a2 :> value)
我有一个IObservable,它发出具有时间和值的时间序列的数据,但是IObservable >到底是什么?!为何该函数的参数是一个巨大的元组?
最佳答案
早期的Observable和Live Chart无效,但我写了一个简单的示例:
open System
open System.Windows.Forms
open System.Reactive.Linq
open FSharp.Charting
[<EntryPoint>]
[<STAThread>]
let main argv =
Application.EnableVisualStyles()
Application.SetCompatibleTextRenderingDefault false
let form = new Form(Visible = true, TopMost = true,
Width = 700, Height = 500)
let rand = new Random()
let obs = Observable.Interval(TimeSpan.FromSeconds(1.0)).
ObserveOn(WindowsFormsSynchronizationContext.Current)
|> Observable.map(fun _ -> DateTime.Now.ToShortTimeString(),rand.Next(0,21))
let one = LiveChart.FastLineIncremental(obs,Name="Simple Example")
one.ShowChart()
Application.Run form
0
也许这段代码将有助于解决您的问题。几分钟后,工作:
如果我(作为新手)犯了严重的错误,我希望站点中经验丰富的成员可以纠正我。如果我给了不好的建议,我提前致歉