XPlot:一个面向 F# 的图表生成库

阅读数:720 2016 年 1 月 6 日

话题:.NET语言 & 开发

XPlot是一个面向 F# 编程语言的、跨平台的数据可视化程序包。它基于 JavaScript 绘图库 Google Charts 和 Plotly,开发人员既可以从F# Interactive中交互地使用它,也可以将其嵌入到 F# 应用程序和 HTML 报表。

XPlot 的作用是作为 JavaScript 库的 F# 封装器。使用其 API 生成图表时,XPlot 会生成 Html 和 JavaScript 代码,而图表生成是以 Google Charts 或 Plotly 作为提供程序。

XPlot 图表可以动态创建并在 Web 应用程序中绘制。例如,下面的代码会生成一个直方图,展示状态及相应的出现次数:

open XPlot.GoogleCharts

let statusCount () =
  let series = [("Open",23); ("In Progress",5); ("Resolved", 58); ("Closed",5)]

  let options =
      Options(title = "Status", orientation = "horizontal")

  if series |> Seq.isEmpty then "no data" else
      let chart = 
        series
        |> Chart.Bar
        |> Chart.WithOptions options
        |> Chart.WithLabels ["Count"]
      chart.InlineHtml

然后,其 Html 输出可以嵌入到 Web 应用程序中。上述代码会生成下面这个图表:

XPlot 生成的图表可以在 F# 应用程序中渲染,也可以在 C# 中使用。也就是说,使用 C# 编写的 Web 或 WPF 应用程序可以使用 XPlot 生成图表,然后渲染输出结果。

此外,XPlot 还是数据科学程序包 FsLab的一部分。FsLab 还包含用于数据访问和分析的库,分析结果可以使用 XPlot 渲染。

查看英文原文:Introducing XPlot, a Chart Generation Library for F#