F#Charting on MacOS(Xamarin)

时间:2017-03-01 05:54:41

标签: f# mono f#-interactive fsharpchart

您好我在MacOS上使用Xamarin 6.1.5 我安装了FSharp.Charting 0.90.14

这是我第一次尝试使用它

无论我是尝试编译还是尝试使用F#interactive,我都会遇到这种错误

(Chart.Line [ for x in 1.0 .. 100.0 -> (x, x ** 2.0) ]).ShowChart();;
  

System.ArgumentNullException:值不能为null。参数名称:   System.ThrowHelper.ThrowArgumentNullException上的键   (...)

EDIT1 我确实非常愚蠢,没有安装Gtk版本

EDIT2 上面的F#交互式单行代码“工作”。执行需要一些不寻常的时间,但我看到带有图表的窗口。不可能将鼠标悬停在图表上并查看坐标,但可能不是默认设置? 另外,我不明白如何关闭图表出现的窗口。 一切都好吗?

1 个答案:

答案 0 :(得分:3)

您是不是要尝试在Mac上使用FSharp.Charting软件包而不是FSharp.Charting.Gtk,因为文档说您要这样做?

请参阅https://fslab.org/FSharp.Charting/ReferencingTheLibrary.html

编辑:回答原始问题的编辑:不,应该没有警告。这就是它对我有用的方式:

$ fsharpi

F# Interactive for F# 4.1
Freely distributed under the Apache 2.0 Open Source License

For help type #help;;

> #load "packages/FSharp.Charting.Gtk.0.90.14/FSharp.Charting.Gtk.fsx" ;;
[Loading /Users/avysk/Projects/_Sandbox/testfsharpcharting/packages/FSharp.Charting.Gtk.0.90.14/FSharp.Charting.Gtk.fsx]

namespace FSI_0002.FSharp.Charting
  val verifyMac : unit -> bool
  val isMac : bool
  module FsiAutoShow = begin
  end

> open FSharp.Charting ;;
> (Chart.Line [ for x in 1.0 .. 100.0 -> (x, x ** 2.0) ]).ShowChart();;
Binding session to '/Users/avysk/Projects/_Sandbox/testfsharpcharting/packages/FSharp.Charting.Gtk.0.90.14/lib/net40/OxyPlot.dll'...
Binding session to '/Users/avysk/Projects/_Sandbox/testfsharpcharting/packages/FSharp.Charting.Gtk.0.90.14/lib/net40/OxyPlot.GtkSharp.dll'...
val it : unit = ()

(窗口立即出现。)