2012/02/05(日)gnuplotを使ってグラフ出力ソフトを書いてみる

gnuplotを使ってグラフ出力ソフトを書いてみる

同じ書式のグラフを書いて,しかも毎回画像に変換してドキュメントに貼り付けないといけない場合があります.
例えば,いちいちデータの数だけcsvファイルをExcelで読み込み,データをコピペしてグラフを書いて,書式を毎回設定して画像を保存します.
gnuplotを使うにせよ,ファイルの数だけplotにデータのファイル名とタイトルを入力していく必要があります.
1~3個くらいのデータを重ねるのはまだいいが,それ以上のグラフを重ねたり,
その解析の回数が多かったりすると,これらは苦行以外のなにものでもありません.

というわけで,実行ファイルにCSVファイルをドラッグアンドドロップをするだけで,
PNG,PDF,SVG,そしてウィンドウにグラフを描画してくれるプログラムを書いてみました.
複数のデータを選択してプログラムの実行ファイルにドラッグアンドドロップすれば,グラフを重ね書きもしてくれます.
描画にはgnuplotを使っているので,多くの出力形式に対応できました.
改良できていない部分も多いです.重ね書きの描画例を一つ.
こうしてみるとgnuplotの出力そのまんまなので何が便利なのかいまいち釈然としませんね.
凡例の曲線名の指定に不満があります.現状ではフルパスをそのまま表示してますが,
正規表現でファイル名だけを拾うなどして,見やすく変更したいです.
test_film_10L.png

ちなみにコイツは,ガラス上に物質AとBを適当な厚みで交互にN層重ねていった際の光の透過率を計算してみた例です.
勉強のために式を理解して,自作のCのプログラムで計算したヤツです.
計算式は光学薄膜の本に普通に載っているもの,使用した値は適当なものです.