Моя библиотека диаграмм F# не работает в проекте

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

Здравствуйте, я пытаюсь играть с F# в режиме ПРОЕКТА НЕ сценарий. Пока у меня есть код выше, и он сказал мне, чтобы добавить ссылку на System.Drawing, который я также сделал.

У меня 0 ошибок или предупреждений при компиляции, и все работает отлично. Появляется экран консоли, но больше ничего не происходит. График просто не отображается или что-то еще.

Я попробовал это в интерактивном окне, и он прекрасно работает там. Есть идеи?

2 ответа

Решение

Как уже упоминалось @s952163, вы можете обернуть его в Winforms. Тем не мение, ShowChart() уже возвращается System.Windows.Form значение. Итак, пока вы качаете события с Application.Run(f)этот код тоже работает нормально:

[<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

Вы должны просто обернуть его в Winforms. Пожалуйста, смотрите: Как отобразить график FSharp.Charting в существующей форме?

Очень скромный пример:

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

Пожалуйста, обратитесь к System.Drawing, System.Windows.Forms, System.Windows.Forms.DataVisualization

Другие вопросы по тегам