理系学生日記

おまえはいつまで学生気分なのか

gnuplot-mode

久しぶりにgnuplot-mode使って、あれ、gnuplot-modeこんなに使い勝手よかったっけ?とか思ったよ。


最近シミュレーションログから1タッチでグラフ生成までできるように、

  1. ログファイルからデータを入力
  2. データを解析
  3. 解析データをgnuplotにパイプで流し込み

という感じにしてたんですけど、なんか2.と3.の部分のインタフェースを毎回作るのがメンドくなった。3Dにするかしないか、y2軸は使うか、とかそういう対応をインクリメンタルにモジュールについていくのはもうイヤだ!!自由に生きたい!!!!鳥みたく空を飛びたい!!


gnuplotに直接打ち込んでいってsaveして、最後バッチモードで走らせるのも良いんですけど、メンドい。何がメンドいかというと、ぼくのディレクトリ構成はこんな感じになってる。

paramA-1/paramB-1/paramC-1/paramD-1/paramE-1/paramF-1/dat-file

パラメータの数多杉wwあほかwwとかバカにされます ><
こういうバカにされる構成だと、プロットするのにこんな感じになる。

set xlabel "hogehoge"
........略
plot "paramA-1/paramB-1/paramC-1/paramD-1/paramE-1/paramF-1/dat-file" ti "hoge" w l,\
     "paramA-2/paramB-1/paramC-1/paramD-1/paramE-1/paramF-1/dat-file" ti "fuga" w l,\
     "paramA-3/paramB-1/paramC-1/paramD-1/paramE-1/paramF-1/dat-file" ti "hoga" w l

一回ならいいんですけど、何度も入力するとreadlineが効いてても堪え難い苦痛だ!!もっと自由に生きたい!!!!鳥みたく空を飛びたい!!パラメータ大杉あほとか言うな!!


てなわけで、昔使ってたgnuplot-modeを使い直してみた。gnuplot.elはなんか相当入手しにくくなってる。いや、検索には引っかかるけど、ファイル本体がなかなか。


設定はこんな感じ。これだけしか書いてない。

(autoload 'gnuplot-mode "gnuplot"
  "gnuplot major mode" t)
(setq auto-mode-alist
      (append '(("\\.gp$" . gnuplot-mode)) auto-mode-alist))

gnuplot-modeに何ができるかというと、わりかし単純で、基本的にこれだけしか使ってない。

  • 1行をgnuplotに渡す (gnuplot-send-line-to-gnuplot)
  • 選択したリージョンをgnuplotに渡す(gnuplot-send-region-to-gnuplot)
  • バッファ全体をgnuplotに渡す(gnuplot-send-buffer-to-gnuplot)
  • コメント(comment-region)
  • ファイル名を挿入(gnuplot-insert-filename)


普通にgnuplotのコマンド羅列をemacsで書いて、gnuplot-send-region-to-gnuplotとかで結果を確認して、正しければsaveしといて後は必要なときsaveしたファイルをバッチモードで実行する感じ。自由に空は飛べませんけど、苦しくはなくなりました。