FSharp.Charting是一个应用于数据可视化的库,可应用在F#脚本中,可以绘制点图、线状图、柱状图、饼图、金字塔图等一些常见二维图形。
官方网站
下载地址
打开命令行进入F# repl,命令行输入fsi,然后用#r命令引用FShart.Charting.dll,并导入FSharp.Charting
#r "FSharp.Charting.dll" open FShart.Charting
绘制正弦函数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
Chart.Line函数参数均包括7个参数包括1个必选参数和6个可选参数
必须参数:
data有两种形式
seq<key*value> key为横坐标,value为纵坐标
seq<value> 仅指定value纵坐标
可选参数:
Labels:seq<string> 给坐标点加标签
Name:string 指定窗口的标题
Title:string 指定图像的标题比如上例
Color:Drawing.Color 指定图像线条的颜色
XTitle:string x轴的标签
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()
图像标题在图像里很不好,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的使用