如何在F#中绘制数据系列?

Jam*_*ard 8 math matlab charts f#

关于FSHUB,LethalLavaLand说,

让我策划我的价值观!

所以问题是,如何使用内置的.NET 4.0控件在F#中绘制数据系列?

Jam*_*ard 13

自从我最近在.NET 4.0中使用内置的Microsoft Charting Controls(并且热爱它的每一分钟!),我想我会回答我自己的问题......

#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()
Run Code Online (Sandbox Code Playgroud)

  • "用于Microsoft图表控件的示例环境"包含大量非常有用的示例,所有这些示例都包含在一个简单的browseresque UI中:http://code.msdn.microsoft.com/mschart (2认同)
  • 老兄,你说的太多了. (2认同)