FSharp.Charting简单介绍及Chart.Line使用

1.FSharp.Charting简单介绍

FSharp.Charting是一个应用于数据可视化的库,可应用在F#脚本中,可以绘制点图、线状图、柱状图、饼图、金字塔图等一些常见二维图形。

官方网站

下载地址

2.引用程序集

         打开命令行进入F# repl,命令行输入fsi,然后用#r命令引用FShart.Charting.dll,并导入FSharp.Charting

        

#r "FSharp.Charting.dll"
open FShart.Charting

        

3.绘制图形

    3.1绘制普通线状图

       绘制正弦函数sin(x)图像

         

open System    //用到Math
let pi = Math.PI
let t = [for i in -2.0*pi .. 0.01 .. 2.0*pi -> (i, sin i)] //生成图像点
Chart.Line(t,Title = "sin(x)图像").ShowChart();; //绘制并显示图像显示一个Title

FSharp.Charting简单介绍及Chart.Line使用_第1张图片

Chart.Line函数参数均包括7个参数包括1个必选参数和6个可选参数

必须参数:

  1. data有两种形式 

  1.   seq<key*value> key为横坐标,value为纵坐标

  2.  seq<value> 仅指定value纵坐标

可选参数:

  1. Labels:seq<string> 给坐标点加标签

  2.  Name:string 指定窗口的标题

  3. Title:string   指定图像的标题比如上例

  4. Color:Drawing.Color 指定图像线条的颜色

  5. XTitle:string       x轴的标签

  6. YTitle:string      y轴的标签

举一个综合的例子

绘制-2pi到2pi正弦函数图像每个坐标点加一个标签

let pi = Math.PI
let xData = [-2.0*pi .. 0.8 .. 2.0*pi];      //x坐标点
let pointLabels i = "sin(" + string(i) + ")" //单个标签生成
let labelSeq = xData |> Seq.map pointLabels //生成标签序列
Chart.Line([for i in xData -> i, sin i],Labels = labelSeq, Color = Drawing.Color.Green, Name = "这就是窗口名称",XTitle = "横坐标t",Title = "正弦函数图像",YTitle = "纵坐标y").ShowChart()


FSharp.Charting简单介绍及Chart.Line使用_第2张图片

图像标题在图像里很不好,WithTitle方法的可选参数InsideArea更改位置

Chart.Line([for i in xData -> i, sin i],Labels = labelSeq, Color = Drawing.Color.Green,Name = "这就是窗口名称",Title = "正弦函数图像",XTitle = "横坐标t",YTitle = "纵坐标y").WithTitle(InsideArea = false).ShowChart()

当然WithTitle也有许多可选参数来设置图像标签,比如设置标题(Text)、标题颜色(Color)、标题边框颜色宽度形状等等,可以用vs智能提示得到

Line中可设置属性的方法

WithTitle方法

参数:
InsideArea:bool  标题是否在图像中默认在图像中
Style:ChartTypes.TextStyle  标题文字效果有阴影等
FontName:string    字体
FontSize:float   字体大小
FontStyle:Drawing.FontStyle  字体风格
Background:ChartTypes.Background  标题背景设置
Color:Drawing.Color   标题颜色
BorderColor:Drawing.Color边框颜色
BorderWidth:Drawing.Color 变宽宽度
BorderDashStyle:ChartTypes.DashStyle 标题边框风格
Orientation:ChartTypes.TextOrientation  标题方向
Alignment:Drawing.ContentAlignment  标题在标题框位置
Docking:ChartTypes.Docking        标题图像中位置

     下一篇详细介绍withTitle的使用


你可能感兴趣的:(F#,数据可视化,FSharp.Charting)