for ver 1.0.0 - 2.0.1
目次
gpguiは、gnuplotを用いて素早く2次元データプロットグラフを 作成するために作られたGUIフロントエンドです。 特に学術目的でグラフを作成する用途を念頭に置いており、 レポート作成や学会発表等に利用するグラフの作成に適しています。
gnuplotはグラフプロットのための強力なソフトであり、 学術目的にも適した美しいグラフを作成することができます。 しかし数多くのコマンドを駆使する必要があり、 グラフを作成しようとするたびにコマンドを記述したスクリプトを用意し、 スクリプトを編集しながら作業することになります。
gpguiではこのスクリプトファイルの作成を手動ですることなく、 GUI上で操作するだけでツールがgnuplotにコマンドを渡し、グラフを 簡単に作成することができます。 また、外部コマンドと連携することでGUI上からpngファイルへの変換や epsファイルおよびpngファイル作成後のプレビューも行うことが できます。
gpguiの目的は学術目的に耐えうる、綺麗なグラフを素早く作ることですので gnuplotの全機能を網羅してはいません。その代わり、実際のグラフ作成に必要な機能を 選定し、さらにインターフェースもgnuplotのコマンドと1対1ではなくユーザが使い易いように インターフェースと関連付けています。 また、デフォルト値もなるべくそのままで最終出力に使えるように調整してあります。
さらにグラフを作成する際に使用したコマンドをスクリプトファイルに出力できます。 出力したスクリプトファイルはカスタマイズを加えてgnuplotに読み込ませることができます。 また、出力だけでなくスクリプトの読み込みにも対応しており、 gnuplotコマンドのスクリプトを読み込ませることができます。 これはgpguiで出力したものであってもなくても構いません。 この機能は作業中の状態をファイルに保存する用途にも使えます。 スクリプト中にはgpguiが独自の設定をコメントとして加えますので gnuplotのコマンドにない機能でも作業の状態を再現可能です。
まず、rubyをインストールしてください。ほとんどの場合 パッケージ管理システムで用意されていると思います。
次に、ruby/Gtk2をインストールします。ruby/Gtk2は
Ruby-GNOME2の一部です。パッケージ管理システムではRuby-GNOME2として
用意されている場合が多いようです。
パッケージ管理システムで用意されていない場合はRuby-GNOME2の公式サイト
http://ruby-gnome2.sourceforge.jp/
にアクセスしてダウンロードし、インストールしてください。
gnuplotについてはバージョン4.2以上が望ましいです。4.2未満でも 一応動作しますが、一部の機能が無効になります。
そして外部コマンドが用意されているか確認してください。 これらのコマンドはメニューのオプション設定で後から変更し、 別のコマンドを割り当てることが可能です。
これらがなくてもgpgui単体でgnuplotスクリプトを吐き出すことはできます。
デフォルトで割り当てているgv は動作の軽いps/epsビューアです。大抵の環境ではパッケージ管理システムで用意されていると思います。
デフォルトで割り当てているepstoimg はpythonを利用したPostScript/イメージファイルの変換スクリプトです。
Ghostscriptに付属でついてくるpstoimgよりもかなりきれいに変換
することができます。詳細については公式ページ
http://imgtops.sourceforge.net/
を参照してください。
デフォルトで割り当てているeogはGnome環境でのデフォルト画像ビューアです。
デフォルトで割り当てているgeditはGnome環境でのデフォルトエディタです。
ダウンロードしたファイルを解凍したディレクトリで コマンドラインから
ruby gpgui.rb
とタイプしてください。
gnuplotスクリプトを読み込みます。 ここで指定するファイルはgnuplotのコマンドを 羅列したファイルです。 自分で記述したもの、gnuplotのsaveコマンドで出力したもの、 gpguiのスクリプト書き出し機能で出力したもの のいずれも指定可能です。
gpguiのスクリプト書き出し機能で出力したものには コメント部にgnuplotコマンド以外の情報が記述されており、 それを用いた場合スクリプト書き出しをしたときのgpguiの状態を 再現して作業の続きを再開することができます。
gpguiを終了します。
オプション設定ウィンドウを開きます。
このソフトについて表示します。
メニューの「オプション」>「設定...」から開く オプション設定ウィンドウで設定できる項目です。
ここでの設定内容はホームディレクトリに".gpgui"というファイルを 生成して保存されます。
使用する外部コマンドの設定です。コマンドの呼出の際は シェルを経由しますので、環境変数$PATHが参照されます。 絶対パスでの記述も可能です。
gnuplot起動コマンドを入力します。 gpguiはここで指定したプログラムの標準入力に 命令を送信します。
デフォルト値:"gnuplot"
eps出力ファイルを表示するのに使用するコマンドです。 ここで指定したプログラムの引数としてepsファイル名が 渡されます。
デフォルト値:"gv"
出力したepsファイルをpngファイルに変換する際に使用するコマンドです。 %eはeps出力ファイルパス、%pはpng出力ファイルパスに置き換えられて コマンドが実行されます。
デフォルト値:"epstoimg -q -w 1000 -o %p %e"
png出力ファイルを表示するのに使用するコマンドです。 ここで指定したプログラムの引数としてpngファイル名が 渡されます。
デフォルト値:"eog"
データファイルを表示及び編集するのに使用するコマンドです。 また、スクリプトの表示にも使用されます。 ここで指定したプログラムの引数としてデータファイル名およびスクリプト名が 渡されます。
デフォルト値:"gedit"
プロット時に関する設定です。
ここに設定したパターンがデータファイルとして認識されます。 データ系列のデータファイルのクイック選択ボタンの候補作成に使用されます。 また、デフォルトデータファイル、プロットするデータ系列で使用する データファイルの参照時に表示絞りこみパターンとしても使用されます。 シェルと同様のワイルドカード指定が可能です。
デフォルト値:"*.dat;*.csv;*.vcsv;*.tsv"
これにチェックすると、プロットするデータ系列のデータファイルを選択したときに、 プロット対象列をデフォルトに戻します(x=1列目、y=2列目)。
デフォルト値:オフ
フォントに関する設定です。
epsプレビュー・eps出力・png出力に使用されるフォント名です。 グラフ中に使用される文字はこのフォント名でフォントを指定されます。
デフォルト値:"Arial"
スクリプトの自動保存に関する設定です。
epsプレビュー・eps出力・png出力時に、スクリプト出力パスと同じディレクトリに スクリプトを自動保存します。自動保存時のファイル名は 自動保存ファイル名のプレフィックスをスクリプトファイル名の先頭につけたもの になります。
デフォルト値:オン
スクリプト出力実行時に、自動保存ファイルがある場合はそれを消去します。 なお、自動保存ファイル名のプレフィックス を変更している場合、現在の設定 で作成されるものと異なるファイル名の自動保存ファイルは削除されません。 また、自動保存ファイル名のプレフィックスを 空欄にしている場合、この機能は無効です。
デフォルト値:オン
自動保存ファイル名は、ここで設定した文字列をスクリプト出力ファイル名の 頭につけたものになります。空欄にした場合、自動保存の対象がスクリプト出力 と同じファイルとなります。
デフォルト値:"AUTOSAVE_"
オプション設定の全項目をデフォルト値に設定します。
ここでは、データファイルプロットに必要な基本情報を設定します。
デフォルトでプロット対象となるデータファイルを この項目で指定します。 「系列」タブ中の プロットするデータ系列において 系列追加時にデフォルトで指定されるデータファイルになります。
データファイルのファイル名を指定します。 フルパス・相対パスともに使用可能です。
「参照...」ボタンを押すとファイルブラウザから選択することが できます。また、「閲覧...」ボタンを押すと オプション設定で 設定したテキストエディタを起動してデータファイルを開きます。
データファイル中の項目の区切り文字を指定します。 ここを正しく設定しないと、グラフ作成に失敗することがあります。
デフォルト値:スペース
対応するgnuplotコマンド:set datafile separator "区切り文字"
データファイル中でコメント行の開始を示す文字を この項目で指定します。
コメント行の行頭を示す文字を続けて記述します。 コメント開始文字は1文字単位です。複数文字でコメント開始を 示すことはできません。ここで記述したいずれか一文字が行頭にある場合 コメント行とみなします。
デフォルト値:"#!%;"
対応するgnuplotコマンド:set datafile commentschars "コメント開始文字"
スクリプト出力機能で書き込むスクリプトファイルを ここで指定します。
スクリプトファイルのパスを指定します。 絶対パス・相対パスともに使用可能です。
「参照...」ボタンを押すとファイルブラウザから選択することが できます。また、「閲覧...」ボタンを押すと オプション設定で 設定したテキストエディタを起動してスクリプトファイルを開きます。
スクリプト出力時に、データファイル・eps出力先などのファイルパスを スクリプトからの相対パス・絶対パスのどちらを使用して出力するか 選択できます。 スクリプトからの相対パスを使っておけば、関連ファイル群が スクリプトからの相対ディレクトリ構成を保つ限り、 スクリプトを移動しても同じ状態がスクリプトから 再現できます。
なお、ここで指定するのはスクリプト出力時に スクリプト内に書き込むパスのことであり、gpgui上で指定する スクリプト出力先ファイルパスではないことに注意してください。
スクリプト中の各種ファイルパスは スクリプトからの相対パスになります。
スクリプト中の各種ファイルパスは 絶対パスになります。
デフォルト値:スクリプトからの相対パス
対応するgnuplotコマンドはありません。
eps出力機能で書き込むepsファイルを ここで指定します。
epsファイルのパスを指定します。 絶対パス・相対パスともに使用可能です。
「参照...」ボタンを押すとファイルブラウザから選択することが できます。また、「閲覧...」ボタンを押すと オプション設定で 設定したepsビューアを起動してepsファイルを開きます。
対応するgnuplotコマンド:set output "ファイルパス"
png出力機能で書き込むpngファイルを ここで指定します。
pngファイルのパスを指定します。 絶対パス・相対パスともに使用可能です。
「参照...」ボタンを押すとファイルブラウザから選択することが できます。また、「閲覧...」ボタンを押すと オプション設定で 設定したpngビューアを起動してpngファイルを開きます。
対応するgnuplotコマンドはありません。
ここではプロットするデータ系列の登録、及び系列ごとの データ列指定や計算式・見た目の設定などを行います。
ここではプロットするデータ系列を登録します。 ここで登録した数の分のグラフが描かれることになります。
「追加」ボタンを押すと系列を新たに一つ追加登録します。
「削除」ボタンを押すとその系列を削除します。
「↑」「↓」ボタンで系列の順序を入れ替えることができます。 この順序は凡例の順序に反映され、またこの順序でグラフが上から 重ね書きされていくので、グラフが交差する部分では 後の順序のグラフが描画されることになります。
データ系列ごとに設定できる項目は次の通りです。
系列のプロット対象となるデータファイルを指定します。
テキストボックスの左のボタン(クイック選択ボタン)をクリックすると、 現在のデータファイルと同じディレクトリにあるデータファイルの 一覧をポップアップメニューとして表示します。 このポップアップメニューに表示されるデータファイルについては、 オプション設定の データファイルパターンを 参照してリストが生成されます。
「参照...」ボタンを押すとファイルブラウザから 選択することが できます。
デフォルト値:「全般」タブ中の デフォルトデータファイル
対応するgnuplotコマンド:plot "データファイル"
どの列を使ってプロットするのかを指定します。 例えば2列目なら、データ区切り文字で区切られた 部分で2番めのデータを使うという意味です。
系列を新たに追加したときは、後述する "追加時にプロット系列をずらす"の設定によって デフォルトで指定される列が変化します。
対応するgnuplotコマンド:plot "データファイル" using x:y
実際にプロットに使用する値を計算する式を指定します。 使用する列として指定した列の値を変数x,yとして 式に含めることができます。 デフォルトではx*1e0、つまり列の値そのものが適用されます。
例えば、Y値として使用したい列を100倍してプロットする場合、 Yプロット式に"y*1e3"を指定します。
また、プロット式にx,yを含めないときはx,yとして指定した列に 関係なくプロット値が計算されます。
例えば、2列目と3列目の2乗平均をY値としてプロットしたい場合は Yプロット式に"sqrt($2**2+$3**3)"を指定します。
対応するgnuplotコマンド:plot "データファイル" using Xプロット式:Yプロット式
このチェックボックスをオンにすると、グラフを第2Y軸に 対してプロットします。
対応するgnuplotコマンド:plot "データファイル" axis x1y2
系列のタイトルを設定します。これは凡例の表記に使用されます。 空にした場合、凡例にこの系列は表示されません。
対応するgnuplotコマンド:plot "データファイル" title "タイトル"
プロットスタイルを設定します。 「線のみ」「線とポイント」「ポイントのみ」 から選択することができます。
対応するgnuplotコマンド:plot "データファイル" with スタイル
プロットに使用する色を設定します。
対応するgnuplotコマンド:set style line N linecolor rgb "色"
(set style increment user が必要)
プロットに使用するポイントの種類を指定します。
プロットスタイルで「線のみ」を指定した場合 この指定は意味を持ちません。
対応するgnuplotコマンド:set style line N pointtype ポイント
(set style increment user が必要)
プロットに使用する線の幅を指定します。
プロットスタイルで「ポイントのみ」を指定した場合 この指定は意味を持ちません。
対応するgnuplotコマンド:set style line N linewidth 線幅
(set style increment user が必要)
プロットに使用する実線/破線の種類を指定します。
プロットスタイルで「ポイントのみ」を指定した場合 この指定は意味を持ちません。
対応するgnuplotコマンド:set style line N linetype 線種
(set style increment user が必要)
系列追加時に最後の系列からここで設定した列だけ プロット対象列を後ろにずらした状態で系列を追加します。
Xとして使用する列をNx列、Yとして使用する列をNy列だけ ずらして系列を追加します。
例えば、最後の系列の対象列がx=3列目、y=4列目であるとして、 本項目でX:2列、Y:4列に設定すると、新たに追加する系列は プロット対象列がデフォルトでx=5列目、y=8列目の状態になります。
デフォルト値: X:0列, Y:1列
ここで指定した値は登録されたプロット系列全てに適用されます。
これをクリックすると、すべての系列のデータファイルを 「全般」タブ中の デフォルトデータファイル と同じデータファイルに設定します。
プロットに使用するポイントの大きさを指定します。
対応するgnuplotコマンド:set pointsize ポイントサイズ
これらについては、個別に設定するときと 設定できる内容は同一です。
登録された系列群のポイントの種類の順序をデフォルトに戻します。
登録された系列群の色の順序をデフォルトに戻します。
ここでは軸ごとに設定を行います。ラベル・スケール・ 数値表示形式・範囲・目盛・グリッドの設定を行えます。
各軸で設定できる項目はまったく同等です。
ここでは、軸につけるラベルの設定をします。
ラベルとして表示する文字列を設定します。
対応するgnuplotコマンド:set xlabel "ラベル"
(ylabel, y2labelについても同様)
ラベルの表示位置を調整します。調整できる方向は 軸に対して垂直な方向で、距離に相当する文字数で指定します。 軸から離れる方向を正とし、負の値も指定可能です。
デフォルト値:0.0
対応するgnuplotコマンド:set xlabel "ラベル" offset 0,-位置調整
set ylabel "ラベル" offset -位置調整,0
set y2label "ラベル" offset 位置調整,0
ラベルのフォントサイズを指定します。
デフォルト値:26
対応するgnuplotコマンド:set xlabel font "フォント名,フォントサイズ"
(ylabel, y2labelについても同様)
軸のスケールを設定します。
スケールを線形に設定します。
対応するgnuplotコマンド:unset logscale x
y, y2についても同様
スケールを対数に設定します。
対応するgnuplotコマンド:set logscale x
y, y2についても同様
デフォルト値:線形
ここでは軸に表示する数値の表示について設定します。
軸に表記する数値の書式を選択します。
「自動」では、数値は自動で判断された書式で表示されます。
この書式では小数部分の末尾の0は表示されません。
対応するgnuplotコマンド:set format x "%g"
(y, y2についても同様)
「小数のみ」では、数値は小数で表示されます。
対応するgnuplotコマンド:set format x "%.0f" (小数点以下の桁0の場合)
(y, y2についても同様)
「指数のみ」では、数値を浮動小数点表記したときの 指数部分のみが「10n」として表示されます。
対応するgnuplotコマンド:set format x "10^{%T}"
(y, y2についても同様)
「小数+指数」では、数値を浮動小数点表記し、 「小数部×10n」として表示されます。
対応するgnuplotコマンド:set format x "%.0t{/Symbol \264}10^{%T}" (小数点以下の桁0の場合)
(y, y2についても同様)
「なし」では、数値は表示されません。
対応するgnuplotコマンド:set format x ""
(y, y2についても同様)
デフォルト値:自動
数値の書式中の小数点以下の桁を設定します。 数値の書式に「自動」「指数のみ」「なし」のいずれかを指定した場合、 ここの設定は意味を持ちません。
デフォルト値:1
軸に表示する数値のフォントサイズを指定します。
対応するgnuplotコマンド:set xtics font "フォント名,フォントサイズ"
(ytics, y2ticsについても同様)
デフォルト値:26
軸の最大値・最小値を指定します。自動とするには、アスタリスク "*"を指定します。
軸の最小値を指定します。
デフォルト値:"*"
軸の最大値を指定します。
デフォルト値:"*"
対応するgnuplotコマンド:set xrange [最小値:最大値]
(yrange, y2rangeについても同様)
ここでは軸に振る目盛について設定します。デフォルトではすべて自動です。
このチェックボックスをオンにすると、目盛の最小値・最大値・間隔を 指定して手動で目盛を振ることができます。オフにした場合、目盛は 自動で振られます。
なお、最大値を指定するときは間隔を省略することはできません。 また、間隔を指定するときは最小値を省略することはできません。
デフォルト値:オフ
最小値:目盛を振る最小の値を指定します。
最大値:目盛を振る最大の値を指定します。
間隔:目盛の間隔を指定します。
対応するgnuplotコマンド:set xtics 最小値,間隔,最大値
(ytics, y2ticsについても同様)
デフォルト値:なし
このチェックボックスをオンにすると、小目盛の目盛分割数を 手動で設定することができます。オフにした場合は、分割数は 自動で決定されます。
デフォルト値:オフ
小目盛で大目盛を分割する数を指定します。ここで指定するのは 分割数であって、大目盛の間に入る小目盛の数ではないことに 注意してください。小目盛の数+1が指定する値になります。
対応するgnuplotコマンド:set mxtics 分割数
(mytics, my2ticsについても同様)
デフォルト値:5
グリッドを表示する場合はチェックボックスをオンにします。
デフォルト値:オン
対応するgnuplotコマンド:set grid xtics
(ytics, y2ticsについても同様)
小目盛グリッドを表示する場合はチェックボックスをオンにします。
デフォルト値:オフ
対応するgnuplotコマンド:set grid mxtics
(mytics, my2ticsについても同様)
ここでは凡例の設定を行います。凡例自体の表示切り替え・ 位置・表示形式の調整が行えます。
このチェックボックスをオンにすることで、凡例を表示させます。 オフの場合、凡例は表示されず、「凡例」タブでの設定内容は意味を持ちません。
デフォルト値:オン
対応するgnuplotコマンド:set nokey (チェックボックスがオフ)
ここでは凡例を表示する位置を設定します。指定できる位置は グラフの内側四隅、およびグラフ外側の右側上/中央/下、 グラフの下の左/中央/右です。
デフォルト値:右上
対応するgnuplotコマンド:set key 位置指定ワード1 位置指定ワード2
(位置指定ワード1,2はleft/right/top/bottom/rmargin/bmarginの組み合わせです。)
ここでは凡例の表示に関する設定を行います。
凡例の説明文の揃え位置を選択します。
デフォルト値:右揃え
対応するgnuplotコマンド:set key Right / set key Left
このチェックボックスをオンにすると、凡例の記号サンプルが右に、 説明文が左になります。オフでは逆になります。
デフォルト値:オフ
対応するgnuplotコマンド:set key reverse
凡例が縦に並ぶときの上下間隔を、デフォルト間隔の 倍数として指定します。
デフォルト値:1.0
対応するgnuplotコマンド:set key spacing 上下間隔
ここでは凡例の説明文の表示幅調整を行います。 説明文の幅はgnuplot内では フォントサイズの文字数倍で計算されているため、 等幅でない(プロポーショナルな)フォントでは実際の幅と ずれてしまいます。そこに補正をかけるのが目的です。
幅として加算したい分の文字数で指定します。負の値も指定可能です。
デフォルト値:0.0
対応するgnuplotコマンド:set key width 幅調整
凡例のフォントサイズを指定します。
gnuplotには凡例自体のフォントサイズを指定する方法がありません。 しかし、凡例以外のフォントサイズは指定しておけるので、 ターミナルのデフォルトのフォントサイズを変更して 凡例のみに影響をあたえることができます。
デフォルト値:20
対応するgnuplotコマンド:set terminal postscript "フォント名" フォントサイズ
ここではいままでの設定項目でカバーしきれなかった 部分の設定を行うことができます。
ここでは、グラフ周囲の余白を設定することができます。 この余白はグラフ描画領域から、全描画領域までの距離であり、 軸に表示する数値や軸ラベルが描画される部分を含みます。
上下左右のテキストボックスに、設定したい余白に相当する 長さ分の文字数を入力します。 なお、空欄にすると自動計算となります。
デフォルト値:空欄
対応するgnuplotコマンド:set rmargin 文字数
(lmargin, tmargin, bmarginについても同様)
グラフの縦横比を設定します。これは軸に表示する数値・軸タイトル・凡例を 含んだ描画領域全体の縦横比であり、 グラフ領域のみの縦横比ではないことに注意してください。
横方向は5インチ、縦方向は3インチ以下にならないように サイズを計算して出力します。
デフォルト値: 縦:横=10:7
対応するgnuplotコマンド:set terminal postscript size Xサイズ・Yサイズ
ウィンドウ下部にある各種処理に関連付けられたボタンを押すことで、 処理を実行することができます。
現在の設定でgnuplotスクリプトを出力します。 このファイルの内容は epsプレビュー・eps出力に使われる内容と同じです。
現在の設定を利用してepsファイル出力のプレビューを行います。 一時ファイルに書き込むこと以外は「eps出力」と同じです。
現在の設定を利用してepsファイルを出力します。 このepsファイルはgnuplotのepsターミナルを利用して出力されます。 スクリプト出力で出力したファイルを gnuplotで処理させてもまったく同じものを得ることができます。
オプション設定で epsビューアが正しく設定されていれば、自動的にビューアを 起動し、出力結果を表示します。
ビューアが起動できない場合はepsファイルを生成した旨の メッセージを表示します。
「全般」タブ中の 「eps出力」で設定したファイルパスの 拡張子が「.eps」ではない場合、修正するかどうかを選択する ダイアログを出します。修正しない場合、そのままのファイル名が 外部コマンドに渡されます。
現在の設定を利用してpngファイルを出力します。 これは一旦epsファイルを出力した後、 オプション設定 で設定した変換コマンドを使用して epsからpngへと変換を行います。
オプション設定で pngビューアが正しく設定されていれば、自動的にビューアを 起動し、出力結果を表示します。
ビューアが起動できない場合はpngファイルを生成した旨の メッセージを表示します。
「全般」タブ中の 「png出力」で設定したファイルパスの 拡張子が「.png」ではない場合、修正するかどうかを選択する ダイアログを出します。修正しない場合、そのままのファイル名が 外部コマンドに渡されます。