FSharpChart 图表应用
2011-12-30 10:30
393 查看
大家好,我是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去浏览:
![](http://hi.csdn.net/attachment/201112/15/0_13239420298rnF.gif)
这种方法可以更容易地把数据直接导入到图表中。另外,FsharpChart库为F# Interactive增加了一个自定义的打印机,这样可以自动地在自己的窗口中打开每一个图表控件。例如:在FSI中执行如下代码:
[for x in 0.0 .. 0.1 .. 6.0 -> sin x + cos (2.0 * x)]
|> FSharpChart.Line
![](http://hi.csdn.net/attachment/201112/15/0_1323942071JbzF.gif)
将会产生如下窗口:
每个图表控件也包含一个上下文菜单,这使得易于复制图表到剪贴板,或者保存图表到一个文件,或者查看/修改详细的图表属性:
![](http://hi.csdn.net/attachment/201112/15/0_1323942116dZtn.gif)
系列:
图表创建方法的重载允许用许多不同的方式来指定数据。特别是,大部分的图表允许数据被下面的任何机制来指定 :
只有一个y值序列(x的值隐式地从1增长到序列的长度,正像上面的图表所示)
独立的x和y值序列
一个(x,y)序列对
一个System.Iobservable 类型的y值或者(x,y)对,允许图表随着更多数据被发现而实时更新
另外,x和y的值不受浮点数的限制—— 他们只需被指定为一个实现了System.IConvertible 接口的类的值即可。这意味着用户能够很容易地创建一个已经被分好类的数据图表中:
[("A",1); ("B",3); ("C",2)]
|> FSharpChart.Pie
![](http://hi.csdn.net/attachment/201112/15/0_1323942212n8gf.gif)
同样,图表也很容易对日期和时间进行积值。
open System
let r = Random()
[for d in -30 .. 0 ->
(DateTime.Today.AddDays(float d), r.NextDouble())]
|> FSharpChart.Column
![](http://hi.csdn.net/attachment/201112/15/0_1323942267amqq.gif)
希望这些信息足够使你在F#中用FSharpChart库进行交互式可视化操作。我会在我接下来的blog中更多介绍关于FSharpChart库的高级功能。在那之前,快乐地去创建图表吧!
FSharpChart Download
原文链接:http://blogs.msdn.com/b/fsharpteam/archive/2011/04/15/getting-started-with-fsharpchart.aspx
#load "FSharpChart.fsx"
open Samples.Charting
基本特点:
FSharpChart支持System.Windows.Forms.DataVisualization.Charting命名空间中所有的图表类型,如常见的线形图、条形图、更奇特的Kagi和Renko图表,等等。每种类型的图表可用通过使用FSharpChart类型中的静态方法来创建, 您可以通过IntelliSense去浏览:
![](http://hi.csdn.net/attachment/201112/15/0_13239420298rnF.gif)
这种方法可以更容易地把数据直接导入到图表中。另外,FsharpChart库为F# Interactive增加了一个自定义的打印机,这样可以自动地在自己的窗口中打开每一个图表控件。例如:在FSI中执行如下代码:
[for x in 0.0 .. 0.1 .. 6.0 -> sin x + cos (2.0 * x)]
|> FSharpChart.Line
![](http://hi.csdn.net/attachment/201112/15/0_1323942071JbzF.gif)
将会产生如下窗口:
每个图表控件也包含一个上下文菜单,这使得易于复制图表到剪贴板,或者保存图表到一个文件,或者查看/修改详细的图表属性:
![](http://hi.csdn.net/attachment/201112/15/0_1323942116dZtn.gif)
系列:
图表创建方法的重载允许用许多不同的方式来指定数据。特别是,大部分的图表允许数据被下面的任何机制来指定 :
只有一个y值序列(x的值隐式地从1增长到序列的长度,正像上面的图表所示)
独立的x和y值序列
一个(x,y)序列对
一个System.Iobservable 类型的y值或者(x,y)对,允许图表随着更多数据被发现而实时更新
另外,x和y的值不受浮点数的限制—— 他们只需被指定为一个实现了System.IConvertible 接口的类的值即可。这意味着用户能够很容易地创建一个已经被分好类的数据图表中:
[("A",1); ("B",3); ("C",2)]
|> FSharpChart.Pie
![](http://hi.csdn.net/attachment/201112/15/0_1323942212n8gf.gif)
同样,图表也很容易对日期和时间进行积值。
open System
let r = Random()
[for d in -30 .. 0 ->
(DateTime.Today.AddDays(float d), r.NextDouble())]
|> FSharpChart.Column
![](http://hi.csdn.net/attachment/201112/15/0_1323942267amqq.gif)
希望这些信息足够使你在F#中用FSharpChart库进行交互式可视化操作。我会在我接下来的blog中更多介绍关于FSharpChart库的高级功能。在那之前,快乐地去创建图表吧!
FSharpChart Download
原文链接:http://blogs.msdn.com/b/fsharpteam/archive/2011/04/15/getting-started-with-fsharpchart.aspx
相关文章推荐
- FSharpChart 图表应用
- 矢量Chart图表嵌入HTML5网络拓扑图的应用
- jQuery图表制作——jqchart的应用1
- 图表 jschart && amcharts配置应用实例
- 矢量Chart图表嵌入HTML5网络拓扑图的应用
- F#图表之FSharpChart
- Chart图表应用
- 案例:中科院光机所应用大数据可视化工具-LightningChart |见证高性能图表
- 超酷HTML5 Canvas图表应用Chart.js自定义提示折线图
- 【Android 应用开发】Android 图表绘制 achartengine 示例解析
- 图表中各个参数的应用( AChartEngine XMultipleSeriesRenderer
- 【Android 应用开发】Android 图表绘制 achartengine 示例解析
- Chart图表在Android开发中的应用
- ngx-chart中各种图表的用法
- Android平台实战CRM客户关系管理(AChartEngine统计图表、异步任务、系统性能优化)
- salesforce 零基础学习(二十六)自定义图表chart简单介绍(使用apex和VF实现)
- 如何在Chart FX for WPF 中使用Sketchflow原型显示图表
- 商业图表中的颜色应用
- 五款ASP.NET图表控件优缺分析(上):Ms Chart和TeeChart
- c# sharp 中委托做参数的一个应用