ふにゃるんv2

もとは、http://d.hatena.ne.jp/Wacky/

Gnuplot.pyをインストールする

ちょっと別用で、pythonでグラフ描画したくなったんですよ。はぁい。


で、ちょっくら調べてみると、gnuplot.py が有名っぽい。
早速入れようかと思ったら、意外とインストール方法について言及した記事が無い。(いや、自分の探しようが悪いだけなのかも知れませんがね)


なので、調べた内容をメモ〜。


まず、gnuplot.pyを入れるのに必要なレシピな。


で、Python 2.4 for Windowsで、gnuplot.py をインストールする方法なんだけど、以下の順番に進める。

  1. gnuplotをインストールする。
  2. Numerical Pythonをインストールする。
  3. Gnuplot.pyをインストールする。
  4. pgnuplot.exeを調達して、gnuplotのフォルダに突っ込む
  5. gnuplotのフォルダに検索パスを通す

これで、gnuplot.pyが使えるようになる。


んでは、ステップ順に示そう。

step.1 gnuplotをインストールする
まず、gnuplotをインストールする。


オフィシャルサイトのダウンロードコーナーに行くと、「gnuplot-3.7.1+1.2 is a patch package to add some enhanced functions to gnuplot version 3.7.1 and enable it to treat Japanese text. 」って記述があり、日本語対応のgnuplotを提供している所へのポインタが示してある。


だもんで、以下のサイトにジャンプしてgnuplotを頂く。


ここから、wgpl+w32.zipを頂いた。
インストール方法は至極簡単で、zip展開するだけ。


wgnuplot.exe をダブルクリックすると、gnuplotが立ち上がる。なるほど、なるほど。
gnuplot
gnuplot posted from フォト蔵


step.2 Numerical Pythonをインストールする
gnuplot.pyは、実行にあたって Numerical Pythonが必要らしい。
だもんで、以下のサイトから取ってくる。

ここでは、Numeric-24.2.win32-py2.4.exe を取ってきて、ダブルクリックしてインストールした。


step.3 gnuplot.pyをインストールする
次に、gnuplot.pyをインストールする。
オフィシャルサイトは、↓ここ。

自分は、gnuplot-py-1.7.zip を取ってきて、展開し、コンソールからインストールをかけた。

$ python setup.py install
C:\tool2\Python24\lib\distutils\dist.py:222: UserWarning: 'licence' distribution option is deprecated; use 'license'
  warnings.warn(msg)
...
running install
running build
running build_py
creating build
creating build\lib
creating build\lib\Gnuplot
copying .\demo.py -> build\lib\Gnuplot
copying .\Errors.py -> build\lib\Gnuplot
copying .\funcutils.py -> build\lib\Gnuplot
copying .\gnuplot_Suites.py -> build\lib\Gnuplot
copying .\gp.py -> build\lib\Gnuplot
copying .\gp_cygwin.py -> build\lib\Gnuplot
copying .\gp_java.py -> build\lib\Gnuplot
copying .\gp_mac.py -> build\lib\Gnuplot
copying .\gp_macosx.py -> build\lib\Gnuplot
copying .\gp_unix.py -> build\lib\Gnuplot
copying .\gp_win32.py -> build\lib\Gnuplot
copying .\PlotItems.py -> build\lib\Gnuplot
copying .\termdefs.py -> build\lib\Gnuplot
copying .\test.py -> build\lib\Gnuplot
copying .\utils.py -> build\lib\Gnuplot
copying .\_Gnuplot.py -> build\lib\Gnuplot
copying .\__init__.py -> build\lib\Gnuplot
running install_lib

余談だけど、Numerical Pythonを入れてないと、こんなエラーになる。

$ python setup.py install
Traceback (most recent call last):
  File "setup.py", line 17, in ?
    from __init__ import __version__
  File "...\gnuplot-py-1.7\__init__.py", line 167, in
?
    from PlotItems import PlotItem, Func, File, Data, GridData
  File "...\gnuplot-py-1.7\PlotItems.py", line 26, in
?
    import Numeric
ImportError: No module named Numeric

step.4 pgnuplot.exeを調達して、gnuplotのフォルダに突っ込む
これでインストール完了と思ったら早い。
gnuplot.pyは、gnuplotを起動するのに、pgnuplot.exe っていうヘルパーを必要とするらしい。
gnuplot.c をコンパイルすりゃいいらしいんだが、よくわかんね。


という訳で、↓ここからいただきマンボした。


このファイルを、gnuplotの入っているフォルダに突っ込む。


step.5 gnuplotのフォルダに検索パスを通す
gnuplot.pyを使う時、pgnuplot.exeを立ち上げるのだから、pgnuplot.exeのあるフォルダに検索パスを通す必要がある。


gnuplot.pyのサンプルプログラムである demo.py を起動する際の流れを示そう。

$ dir /w
 ドライブ F のボリューム ラベルは ボリューム です
 ボリューム シリアル番号は C8D2-1C4A です

 ...\gnuplot-py-1.7 のディレクトリ

[.]                 [..]                ANNOUNCE.txt        [build]             CREDITS.txt
demo.py             [doc]               Errors.py           Errors.pyc          FAQ.txt
funcutils.py        Gnuplot.html        gnuplot_Suites.py   gp.py               gp.pyc
gp_cygwin.py        gp_java.py          gp_mac.py           gp_macosx.py        gp_unix.py
gp_win32.py         gp_win32.pyc        LICENSE.txt         MANIFEST            MANIFEST.in
NEWS.txt            PKG-INFO            PlotItems.py        PlotItems.pyc       README.txt
setup.cfg           setup.py            termdefs.py         termdefs.pyc        test.py
TODO.txt            utils.py            utils.pyc           _Gnuplot.py         _Gnuplot.pyc
__init__.py         __init__.pyc
              38 個のファイル             275,067 バイト

$ set PATH=c:\tool\wgpl+w32;%PATH%
$ python demo.py
gnuplot> set terminal windows
gnuplot> set title "A simple example"
gnuplot> set data style linespoints
gnuplot> plot '...' notitle
Please press return to continue...

gnuplot> reset
gnuplot> set title "Data can be computed by python or gnuplot"
gnuplot> set xlabel "x"
gnuplot> set ylabel "x squared"
gnuplot> plot x**2 title "calculated by gnuplot", '...' title "calculated by python" with points 3 3
Please press return to continue...
...

すると、以下のようなグラフがポンポン表示されるハズ。

gnuplot.py
gnuplot.py posted from フォト蔵


後は、gnuplot.pyを使ったコードを参考にすれば、簡単にグラフが描ける事でせぅ。
よかばい、よかばい。


余談
余談なんだけど、このgnuplotって、結構メモリ食いまくりじゃありません?
画面のスナップショットを取って、Blog用に画像加工しようとしたら、メモリが足りないエラーが出てきたよ。むにゅぅ。

2006/01/15 : 追加メモね

pgnuplotって、国内の方が、Fixされているみたいなんで。

(01/30 2005; 01/31 2005 一部修正)
... 前者の問題は、松岡@名古屋大 さんが原因を突き止められ、 src/win/pgnuplot.c の修正を行なわれ、 CVS 版にめでたくその修正が取り入れられたようです。 なお、松岡@名古屋大さんは、元記事の方の目的のために pgnuplot を使ってエラーでも wgnuplot を落ちないようにするプログラム wgpspause も作られて以下で公開しておられます。

05/01/26( 1/31 修正。)
pgnuplotでの日本語の使用について