How to display an FSharp.Charting graph in an existing form?

不问归期 提交于 2019-11-30 15:22:22

In order to achieve this you should wrap your chart into FSharp.Charting.ChartTypes.ChartControl and take care of correct docking. Also you should not mix Chart from FSharp.Charting with Chart from System.Windows.Forms.DataVisualization.Charting.

A good staring point may be the following fully functional sample that works with the current FSharp.Charting v0.90.5; also references are required to System.Drawing and System.Windows.Forms:

open System
open FSharp.Charting
open FSharp.Charting.ChartTypes
open System.Drawing
open System.Windows.Forms

[<STAThread; EntryPoint>]
let main args =
    let myChart = [for x in 0.0 .. 0.1 .. 6.0 -> sin x + cos (2.0 * x)]
                    |> Chart.Line |> Chart.WithYAxis(Title="Test")
    let myChartControl = new ChartControl(myChart, Dock=DockStyle.Fill)
    let lbl = new Label(Text="my label")
    let form = new Form(Visible = true, TopMost = true, Width = 700, Height = 500)
    form.Controls.Add lbl
    form.Controls.Add(myChartControl)
    do Application.Run(form) |> ignore
    0
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!