2016-03-03 13 views
6
open FSharp.Charting 
open System 

[<EntryPoint>] 
let main argv = 
    printfn "%A" argv 
    let x = Chart.Line [ for x in -100 .. 100 -> x, pown x 3] 
    let y = Console.ReadKey(); 
    0 //return an integer exit code 

Witam, staram się grać z F # w PROJECT trybuNIE skrypt. Do tej pory mam powyższy kod, jak również powiedział mi, aby dodać odniesienie do System.Drawing, który również zrobiłem.My F # Wykres Biblioteka nie działa w projekcie

Mam 0 błędów lub ostrzeżeń podczas kompilacji i działa idealnie dobrze. Pojawi się ekran konsoli, ale nic się nie dzieje. Wykres po prostu się nie wyświetla ani nic.

Próbowałem tego w interaktywnym oknie i działa tam doskonale. Jakieś pomysły?

Odpowiedz

6

Jako @ s952163 wspomniano, można zawiń go do WinForm. Jednak ShowChart() zwraca już wartość System.Windows.Form. Tak więc, o ile tylko pompujesz zdarzenia z Application.Run(f), ten kod działa również dobrze:

[<EntryPoint>] 
let main argv = 
    printfn "%A" argv 
    let f = (Chart.Line [ for x in -100 .. 100 -> x, pown x 3]).ShowChart() 
    System.Windows.Forms.Application.Run(f) 
    0 
4

Powinieneś po prostu zapakować go w WinForm. Proszę zobaczyć: How to display an FSharp.Charting graph in an existing form?

jedynie w podstawowe przykład:

open FSharp.Charting 
open System 
open System.Windows.Forms 

[<STAThread>] 
[<EntryPoint>] 
let main argv = 
    printfn "%A" argv 
    let chart = Chart.Line [ for x in -100 .. 100 -> x, pown x 3] 
    let f1 = new Form(Visible = true, TopMost = true, Width = 700, Height = 500) 
    f1.Controls.Add(new ChartTypes.ChartControl(chart, Dock = DockStyle.Fill)) 
    Application.Run(f1) 
    0 // return an integer exit code 

proszę odwołać System.Drawing, System.Windows.Forms, System.Windows.Forms.DataVisualization