毎日もくもく

毎日もくもく

日記,そして備忘録

Gnuplot のスクリプトファイルの拡張子

最近データをグラフ化するときに Gnuplot を使うことが多い. というのも,LaTeX で文書を作るときに Gnuplotset terminal tikz としてからグラフを吐くと tex ファイルが出力され,それを LaTeX 文書中の該当箇所で \input{} するとラベルや凡例の字のフォントや大きさが本文中とそろうため,見栄えが非常に良いからだ(参考: gnuplotのグラフをTikzに出力してLatex文書に貼り付ける | 他力本願).

Gnuplot ではコマンドを適当なテキストファイル(スクリプトファイル)にまとめて,Gnuplot 中でそのファイルをロードするとスクリプトファイル中のコマンドが実行される. スクリプトファイルを利用することでグラフの修正も楽になるので,私は好んでこの機能を使うが,ふとスクリプトファイルの拡張子は何が一般的なのか気になった. 別にどんな拡張子でも適当なコマンドを書いていればロードできるので何でもいいのだが,気になってしまったものはしょうがない. 私は .gp という拡張子にしていたが,インターネットで検索すると .plt を利用している人も多い. また友人は .gpl かなと言っていたので,上記 3 つについて調べてみた.

ところで私は Atom というエディタを日常的に使っていて,その拡張機能language-gnuplot-5 というのもがある. これを導入すれば Gnuplotスクリプトファイルではシンタックスハイライトが有効になる. そこでこのシンタックスハイライトが有効になる拡張子を一般的なスクリプトファイルとした.

調べたときの環境を以下に示す.

$ gnuplot --version
gnuplot 5.2 patchlevel 2
$ atom --version
Atom    : 1.23.3
Electron: 1.7.11
Chrome  : 58.0.3029.110
Node    : 7.9.0
  • language-gnuplot-5: Version 0.4.2

以下の内容のスクリプトファイルをそれぞれ test.gp, test.plt, test.gpl で保存した.

set xrange [-5:5]
set yrange [-2:2]
set xlabel 'x'
set ylabel 'y'
set grid
plot cos(x) title 'y = cos x'

結果は以下のようになった.

f:id:xartaky:20180129011008p:plain
結果一覧.

結果を見ると,.gp, .plt ではシンタックスハイライトが有効になっているので,一般的なのはこの 2 つという結論に達した. まぁ,そんなのこの拡張機能を作っている人がどんな拡張子を想定しているかによるし,この拡張機能は全然インストールされていないのでほとんど意味ないかもしれないが,個人的にはこれで良しとしたい.

ちなみに language-gnuplot-atom/gnuplot.cson at master · jinhuang/language-gnuplot-atom · GitHub or ~/.atom/packages/language-gnuplot-5/grammars/gnuplot.cson の最初に

'fileTypes': [
    'gp'
    'gnuplot'
    'gnu'
    'plot'
    'plt'
    'gplot'
]

と書いてあるので,僕の調査は無駄で,上記 5 つの拡張子がこの拡張機能の作者にとって一般的っぽいです.