新規作成 | 一覧 | RSS | FrontPage | 検索 | 更新履歴

gnuplot - *グラフ作成ソフト gnuplot

差分表示


*グラフ作成ソフト gnuplot
----

gnuplot はフリーのグラフ描画ソフトです。

**インストール

-gnuplot homepage http://www.gnuplot.info/ (本家)
-Browse gnuplot development Files on SourceForge.net http://sourceforge.net/projects/gnuplot/files/ (ダウンロード先)
-MS-Windows 用の gnuplot の日本語化キット http://takeno.iee.niit.ac.jp/~foo/gp-jman/gp-jman.html#wgpjp (ヘルプとメニューの日本語リソース)

**フォントが見えないとき

英語のままでもとりあえず使う分には問題ありません。
ただし、
Windows版の gnuplot、wgnuplot.exe は初期状態で起動すると文字が読めません。
フォントを日本語 Windows 用に変更して、.ini ファイルに書き込む必要があります。

-wgnuplot のウィンドウ上で右クリック(上部のメニューではない)
-Choose font... から、例えば MS ゴシック を選ぶ
-Update (インストールディレクトリ)/wgnuplot.ini を実行

「wgnuplot フォント」 などで検索すると対処方法がわかります。

詳しくは、「日本語化」を参照。

**ヘルプファイルが表示できないとき

Windows 7 や Vista では WinHelp が廃止されたので、
そのままではヘルプ ファイルが表示できません。
Microsoft のサイトから明示的に WinHelp をダウンロードする必要があります。

WinHelp を入れても、そのまま wgnuplot からヘルプを呼び出そうとすると、ヘルプファイルが開けません。
セキュリティ上の理由で、ダウンロードしたヘルプファイルは閲覧制限がかかっています。
まず、エクスプローラから、wgnuplot.hlp を直接ダブルクリックして表示させます
(ダブルクリックで開かない場合は右クリックに何らかのメニューがあるはず)。
本当に開くのかどうか聞いてくるので、許可します。
このとき、「このファイルを開く前に常に警告する」のチェックを外しておきます。
その後で wgnuplot からヘルプを表示させようとすれば、表示されるようになります。

詳しくは「日本語化」を参照。

キーワードや検索が使えないエラーが発生することがあります
(2010.11.03、Windows 7 32bit、gnuplot 4.4.2)。
キーワードのデータベースを作成しようとして
「テキスト検索タブを表示できません 177」とエラーが表示されます。
このエラーは、
ヘルプファイルと同じファイル名で拡張子が .GID のファイル、
つまりこの場合は wgnuplot.GID が壊れていることにより発生します。
wgnuplot.hlp と同じディレクトリ(フォルダ)にある wgnuplot.GID を削除すれば改めて自動生成され、
ヘルプが正常に動作するようになります。
gnuplot ではなく Windows の WinHelp 側の問題なので、
このエラーメッセージに関して詳しい情報は Microsoft のサイトをご覧ください。


**日本語化(ヘルプとメニュー)

-MS-Windows 用の gnuplot の日本語化キット http://takeno.iee.niit.ac.jp/~foo/gp-jman/gp-jman.html#wgpjp
-- "付属ドキュメント (Shift_JIS; ... Byte) " が説明書きのテキストファイルなので、使っているバージョンに近いものを読む。
-- .zip ファイルをダウンロード(上記の"付属ドキュメント"は .zip に含まれている)。同じでなくても近いバージョンなら実用上問題ない。
-- .zip を展開し、.hlp(ヘルプ)と .mnu(メニュー)を英語版 gnuplot のフォルダに英語版の名前にしてコピー。英語のヘルプとメニューは名前を変えて保存しておいたほうが無難。

本体については Ver.4.4 から国際化(Internationalization) で
ロケールや UTF-i 対応されているようです。詳細未確認。

-cf. set locale, set encoding, set decimalsign


**FAQ の日本語訳

-gnuplot-FAQ (日本語訳) http://takeno.iee.niit.ac.jp/~shige/unix/gnuplot/gnuplot.html#gp-FAQ-j

**簡単な関数を描画してみる

-gnuplot - takataka http://tortoise1.math.ryukoku.ac.jp/wiki/pukiwiki.php?gnuplot

たとえば、&mimetex(y=x^2) を描きたいときは、

    plot x**2

と入力します。

反比例のグラフ &mimetex(y=1/x) ならば、

    plot 1/x

なのですが、&mimetex(x=0) をまたがって線を結んでしまいます。
gnuplot ではサンプル点の値をプロットすることになっていて、
∞、1/0(ゼロ割)のような値(値でない値)は無視されるとのこと。
gnuplot ではサンプル点の値をプロットすることになっているので、
線で点を結ぶときに、点と点の間が本当はどんな値かは無視する仕様だそうです。

**点描にする

線で結ぶからおかしいので、細かい点でプロットすればいいだろうというときは、

    plot 1/x with dots
    plot 1/x w d

わかる範囲で省略してもいいということで、上でも下でも同じです。

線で結ぶなら、

    plot 1/x with lines
    plot 1/x w l


**描画間隔を変更する

でも、点がスカスカです。100点のサンプルがデフォルトのようです。

1000点のサンプル間隔にするなら、

    set samples 1000

元に戻すなら、

    unset samples

ということで、

    set samples 1000
    plot 1/x with dots

**グラフの範囲を指定する

縦軸が ±100 になってしまいました。

グラフの範囲は [最小値:最大値] と指定します。

    plot [-5:5] [-10:10] 1/x with dots

縦軸(値域)だけの範囲指定なら

    plot [] [-10:10] 1/x with dots

横軸(定義域)だけの範囲指定なら

    plot [-5:5] 1/x with dots

**不連続な点

不連続な点は手描きや教科書では白丸で抜きますが、
gnuplot は無視して線を引いてしまいます。
これを表現する「ごく簡単な」方法はないようです。
たとえば、次のような解説があります。

-http://takeno.iee.niit.ac.jp/~shige/unix/gnuplot/gpinfo-2009.html

----
(2010.11.03-2010.11.04)