Getting a Good Grasp of F# (仮)

関数型言語F#をもっと楽しみたい

F#でなるべく簡単にグラフ表示をさせたい その2

F#からgnuplotを利用するためのライブラリとしてFnuPlotというのがあります。(Funplotという似た名前のソフトウェアも存在するので検索する場合は注意)

FnuPlot 公式ページ:http://fsprojects.github.io/FnuPlot/

まだ(2015年11月現在)ベータ版のようですが、これをインストールしてグラフを描いてみます。
まず、Visual Studioのパッケージ・マネージャー・コンソールを使ってインストール。
(写真はVisual Studio 2013のツールメニュー)

f:id:pongitsune:20151107181934p:plain

パッケージマネージャーコンソールのプロンプトの後に
Install-Package FnuPlot -Pre
と手入力

f:id:pongitsune:20151107182428p:plain

ソースコード

プロジェクトに Fnuplot.dll への参照を追加しソースコードで Fnuplot をインポート(open)します。

open System
open FnuPlot
[<EntryPointSTAThread>]
do
    let GNUPLOT_PATH = @"D:\Program Files (x86)\gnuplot\bin\gnuplot.exe"
 
    use gp = new GnuPlot(GNUPLOT_PATH) 
    // タイトルのフォント指定
    gp.SendCommand "set title font 'Meiyrio UI,25'"
    // タイトル文字列指定
    gp.SendCommand """set title '"√x"および"x^2"のグラフ描画の例'"""
    // ラインスタイルの指定
    gp.SendCommand "set style line 1 linewidth 3 linecolor rgbcolor 'red'"
    gp.SendCommand "set style line 2 linewidth 3 linecolor rgbcolor 'green'"
    // 描画範囲を指定
    gp.SendCommand("set xr[0:1.5]")
    gp.SendCommand("set yr[0:1.5]")
    // グラフの描画 
    gp.SendCommand "plot sqrt(x) linestyle 1, x**2 linestyle 2"
      
    printfn "表示完了 何かキーを押してください"
    // キー入力待ち
    Console.ReadKey() |> ignore

変数GNUPLOT_PATH はファイル gnuplot.exe へのパスを表す文字列。インストール先を確認してパスを指定すること。

let GNUPLOT_PATH = @"D:\Program Files (x86)\gnuplot\bin\gnuplot.exe"

 実行結果

f:id:pongitsune:20151107183757p:plain