XPlotはプログラミング言語F#向けクロスプラットフォームのデータ視覚化パッケージで、Google ChartsとPlotlyというJavaScriptのチャートライブラリを使用している。XPlotライブラリはF# Interactiveから対話的に使用することもできるが、F#アプリケーションやHTMLレポートに埋め込むこともできる。
XPlotはJavaScriptライブラリのF#ラッパーとしてふるまう。チャートを生成するAPIを呼び出すと、XPlotはGoogle ChartsまたはPlotlyをプロバイダとして使い、HTMLとJavaScriptのコードを生成する。
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で出力することができる。