FSharpChart 图表应用

大家好,我是Keith Battocchi,我一直致力于如何让F#更容易地实现数据化编程。在我发布的第一个Blog中,我强调了本月早些时候Don 在他的Blog中已经提到的FSharpChart包中的一些基本功能。正像Don所提到的,这个库包含了位于System.Windows.Forms.DataVisualization.Charting命名空间中类型的F#友好包,这让F# interactive 更容易的和图表数据进行交互(您也可以 在MSDN图表控件部分中看到关于基本控件的详细信息,还有教程)。只要加载脚本库:FSharpChart.fsx,打开Samples.Charting 命名空间,就可以开始了。

#load "FSharpChart.fsx"

open Samples.Charting

基本特点:

FSharpChart支持System.Windows.Forms.DataVisualization.Charting命名空间中所有的图表类型,如常见的线形图、条形图、更奇特的Kagi和Renko图表,等等。每种类型的图表可用通过使用FSharpChart类型中的静态方法来创建, 您可以通过IntelliSense去浏览:

图片替换

这种方法可以更容易地把数据直接导入到图表中。另外,FsharpChart库为F# Interactive增加了一个自定义的打印机,这样可以自动地在自己的窗口中打开每一个图表控件。例如:在FSI中执行如下代码:

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

|>FSharpChart.Line

图片替换

将会产生如下窗口:

每个图表控件也包含一个上下文菜单,这使得易于复制图表到剪贴板,或者保存图表到一个文件,或者查看/修改详细的图表属性:

图片替换

系列:

图表创建方法的重载允许用许多不同的方式来指定数据。特别是,大部分的图表允许数据被下面的任何机制来指定 :

  • 只有一个y值序列(x的值隐式地从1增长到序列的长度,正像上面的图表所示)
  • 独立的x和y值序列
  •  一个(x,y)序列对
  • 一个System.Iobservable 类型的y值或者(x,y)对,允许图表随着更多数据被发现而实时更新

另外,x和y的值不受浮点数的限制—— 他们只需被指定为一个实现了System.IConvertible 接口的类的值即可。这意味着用户能够很容易地创建一个已经被分好类的数据图表中:

[("A",1); ("B",3);("C",2)]

|>FSharpChart.Pie

图片替换

 

同样,图表也很容易对日期和时间进行积值。

open System

let r = Random()

[for d in -30 .. 0 ->

(DateTime.Today.AddDays(floatd), r.NextDouble())]

|>FSharpChart.Column

图片替换

 

希望这些信息足够使你在F#中用FSharpChart库进行交互式可视化操作。我会在我接下来的blog中更多介绍关于FSharpChart库的高级功能。在那之前,快乐地去创建图表吧!

FSharpChart Download

 

原文链接:http://blogs.msdn.com/b/fsharpteam/archive/2011/04/15/getting-started-with-fsharpchart.aspx

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值