我的 F# 图表库在项目中不起作用
My F# Chart Library doesn't work in a project
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
您好,我正在尝试在 PROJECT 模式下使用 F# NOT 脚本。到目前为止,我有上面的代码,它告诉我添加对 System.Drawing 的引用,我也这样做了。
我在编译时有 0 个错误或警告,并且运行良好。出现控制台屏幕,但没有其他任何反应。该图只是没有显示或任何东西。
我已经在交互式 window 中尝试过,它在那里工作得很好。有什么想法吗?
您应该将其包装在 Winforms 中。请参阅:How to display an FSharp.Charting graph in an existing form?
一个非常简单的例子:
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
如@s952163 所述,您可以将其包装到 Winforms 中。然而,ShowChart()
已经returnsSystem.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
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
您好,我正在尝试在 PROJECT 模式下使用 F# NOT 脚本。到目前为止,我有上面的代码,它告诉我添加对 System.Drawing 的引用,我也这样做了。
我在编译时有 0 个错误或警告,并且运行良好。出现控制台屏幕,但没有其他任何反应。该图只是没有显示或任何东西。
我已经在交互式 window 中尝试过,它在那里工作得很好。有什么想法吗?
您应该将其包装在 Winforms 中。请参阅:How to display an FSharp.Charting graph in an existing form?
一个非常简单的例子:
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
如@s952163 所述,您可以将其包装到 Winforms 中。然而,ShowChart()
已经returnsSystem.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