最初に抑えること
gnuplotは昔からあるプロッター(グラフを描くソフトウェア)になります。多くのオプションが用意されているだけでなく、シェルから対話的に図を描くことができます。このページでは基本的にcsvファイルをgnuplotで表示することを想定して話を進めていきます。processingやpython等で適時生成したcsvファイルをgnuplot処理する流れです。どうせpython使うならpyplot使ったら、という声が聞こえて来そうですが、個人的にgnuplotのほうがわかりやすくて好きなのと、大きなデータサイズのcsvを扱う場合、pythonでは配列長等の制限を明示する他、別拡張(pandas)を使う、segmentation faultになることや、動作しなくなるなどの面倒なことがあったためです。
インストール
gnuplotを最初にインストールしておきます。
$ brew install gnuplot
最もシンプルな例
まずは下記csvをダウンロードして、そのデータを表示してみます。最初の列がx軸の値、2番目の列がy軸の値となります。
- sample.csv
1,0 2,100 3,10
$ gnuplot $ gnuplot>set datafile separator "," $ gnuplot>plot "sample.csv" with lines $ gnuplot>q
gnuplotを起動すると、gnuplotのシェルになります。そこでまず最初に csv がカンマ区切りであることを設定しておきます。gnuplotではデフォルトがスペース区切りです。次にそのcsvファイルをグラフ表示しています。with lines というオプションは頂点座標を線で結ぶとこを意味します。この場合は(1,10),(2,100),(3,10)を線分で結びます。最後の[q]はgnuplotのシェルを終了するコマンドです。うまくいくと下記のような画像が表示されます。
gnuplotの使い方を調べる
gnuplotについて不明な箇所を調べる際、googleにキーワード検索はもちろんですが、gnuplotは良い意味で枯れたソフトウェアなので、マニュアルが充実しています。Qitaなんかもケースごとに出てくるので、ドンピシャのケースがあればよいのですが、細かな修正や、「ここをこうしたいのだけれども」となった場合は公式マニュアルを見たほうが手っ取り早いですし、間違いがありません。公式マニュアルはPDFでパンチ効いてるので、下記URLのhtmlドキュメントを参照しましょう。気になるワードや不明な語彙があったらテキスト検索(Ctrl+F)をかけて探してみてください。
- オンラインドキュメント:http://www.bersch.net/gnuplot-doc/gnuplot.html
- 公式ウェブサイト:http://www.gnuplot.info
このページでもケースに依存したいくつかの教材を載せておきます。