11

我想在我的项目中使用 FSharpChart 和 fsx 脚本文件。我使用 Nuget 下载并引用了 MSDN.FSharpChart.dll,我的代码如下所示

#r @"..\packages\MSDN.FSharpChart.dll.0.60\lib\MSDN.FSharpChart.dll"
open System.Drawing
open MSDN.FSharp.Charting

[for x in 0.0 .. 0.1 .. 6.0 -> sin x + cos (2.0 * x)]
    |> FSharpChart.Line

路径是正确的,因为 VS 2012 为我提供了智能感知并且知道 MSDN.FSharp 命名空间。问题是当我在 FSI 中运行这个脚本时,什么都没有显示。

怎么了?

4

1 回答 1

7

为了使您的图表从 FSI 中显示,您应该将 FSharpChart.fsx 预加载到您的 FSI 会话中,如下面的片段所示:

#load @"<your path here>\FSharpChart.fsx"
[for x in 0.0 .. 0.1 .. 6.0 -> sin x + cos (2.0 * x)] 
|> MSDN.FSharp.Charting.FSharpChart.Line;;

2012 年8 月 23 日更新: 为了比较,可视化相同的图表FSharpChart.dll需要一些 WinForms 管道:

#r @"<your path here>\MSDN.FSharpChart.dll"
#r "System.Windows.Forms.DataVisualization.dll"
open System.Windows.Forms
open MSDN.FSharp.Charting

let myChart = [for x in 0.0 .. 0.1 .. 6.0 -> sin x + cos (2.0 * x)]
              |> FSharpChart.Line

let form = new Form(Visible = true, TopMost = true, Width = 700, Height = 500)
let ctl = new ChartControl(myChart, Dock = DockStyle.Fill)
form.Controls.Add(ctl)
于 2012-08-03T16:01:49.573 回答