如何在F#中绘制数据系列? [英] How do I plot a data series in F#?

查看:115
本文介绍了如何在F#中绘制数据系列?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

FSHUB 上, LethalLavaLand 说,


让我因此,问题是,如何使用内置的.NET 4.0控件绘制F#中的数据系列?

解决方案

由于我一直使用内置的Microsoft Charting控件在.NET 4.0最近(和爱的每一分钟它!),我想我会回答我自己的问题。

  #rSystem.Windows .Forms.DataVisualization

打开System.Windows.Forms
打开System.Windows.Forms.DataVisualization.Charting

类型LineChartForm(title,xs:float seq )=
inherit Form(Text = title)

let chart = new Chart(Dock = DockStyle.Fill)
let area = new ChartArea(Name =Area1)
let series = new Series()
do series.ChartType< - SeriesChartType.Line
do xs |> seq.iter(series.Points.Add>>忽略)
do series.ChartArea< - Area1
do chart.Series.Add(series)
do chart.ChartAreas .Add(area)
do base.Controls.Add(chart)

let main()=
let data = seq {for i in 1..1000 do yield sin (float i / 100.0)}
let f = new LineChartForm(Sine,data)
f.Show()

main()


Over on FSHUB, LethalLavaLand said,

Let me plot my values!

So the question is, how can I plot a data series in F# using built-in .NET 4.0 controls?

解决方案

Since I've been working with the built-in Microsoft Charting Controls in .NET 4.0 lately (and loving every minute of it!), I thought I'd take a crack at answering my own question...

#r "System.Windows.Forms.DataVisualization"

open System.Windows.Forms
open System.Windows.Forms.DataVisualization.Charting

type LineChartForm( title, xs : float seq ) =
    inherit Form( Text=title )

    let chart = new Chart(Dock=DockStyle.Fill)
    let area = new ChartArea(Name="Area1")
    let series = new Series()
    do series.ChartType <- SeriesChartType.Line
    do xs |> Seq.iter (series.Points.Add >> ignore)
    do series.ChartArea <- "Area1"
    do chart.Series.Add( series )
    do chart.ChartAreas.Add(area)
    do base.Controls.Add( chart )

let main() =
    let data = seq { for i in 1..1000 do yield sin(float i / 100.0) }
    let f = new LineChartForm( "Sine", data )
    f.Show()

main()

这篇关于如何在F#中绘制数据系列?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆