gnuplot

提供: MacWiki
2009年11月9日 (月) 04:06時点における (トーク | 投稿記録)による版

移動: 案内検索

Gnuplot とは?

正しくは gnuplot(にゅーぷろっと)と呼びます。 Thomas Williams 氏、Colin Kelley 氏らによって開発されているフリーのグラフ作成プログラムで、 2D・3Dの関数や数値データをグラフ化することができます。 名前に gnu とついていますが、GNU プロジェクトとは関係ありません。 詳しくは Wikipedia:Gnuplot を参照して下さい。

参考サイト

インストール

OS X に gnuplot をインストールするには次のような方法があります。

  • 1) MacPortsEasyPackage、Fink、MacOSX_WorkShop といったバイナリパッケージ集を利用する(参考:リスト/UNIXパッケージ)。
    • Fink安定板のgnuplotには、タブ補完機能(readline)やコマンド履歴機能が含まれていません。
  • 2) 単独配布パッケージを使う。
    • http://www.muskmelon.jp/macosx/
    • Intel Mac 専用。Tiger/Leopard 対応。
    • アプリケーションフォルダ(/Applications)に gnuplot.app を設置してインストール。
    • set terminal pdf で PDF ファイルに直に出力できる
    • パスの補完が効く
  • 3) gnuplot 公式ページで配布されている Mac OS X 用バイナリを利用する
  • 4) 下の手順 (1/4)〜(4/4) を参考にして、ソースから gnuplot 4.0 をインストールする。

ソースからのインストール方法

(1/4) 必要なファイルを入手する

以下のファイルはオプションです。

(2/4)* aquaterm-1.0.1 のインストール

Leopardでは、この手順はスキップしても OS 標準添付の X11 に グラフを出力することができます。 ただ、グラフを印刷したりする場合は、AquaTerm の方が格段に便利です。

AquaTerm.pkg をダブルクリックするだけで、インストールできます。

(3/4)* readline-6.0 のインストール

この手順はスキップしても大丈夫です。

cd readline-6.0
./configure
make
sudo make install
  • Tiger にも readline(libreadline.dylib)が含まれていますが、この実体は libedit で 2001 年以来更新されていません(NetBSD はどうしているのでしょう?)。普通に make すると以下のようになってビルドに失敗しますので、上記の GNU readline を必ずインストールするようにして下さい。
/usr/bin/ld: Undefined symbols:
_rl_forced_update_display
_history_list
_replace_history_entry
_rl_ding
_rl_complete_with_tilde_expansion

(4/4) gnuplot-4.2.6 のインストール

$ cd gnuplot-4.2.6
$ ./configure --with-readline=builtin --enable-history-file
$ make
$ sudo make install

補足:上記のように --enable-history-file オプションを付けると、コマンド履歴が ~/.gnuplot_history に保存されるようになります。

デフォルトでは、Emacs 用の gnuplot-mode(lisp ファイル)が /usr/local にインストールされます。これが不要な場合は、次のオプションを追加するとよいでしょう。

--without-lisp-files

手順 (3/4) の readline-6.0 をインストールしている場合は --with-readline=builtin の代わりに --with-readline=gnu を使うと良いでしょう。 Leopard では、以下のようにして引数を工夫する必要があります。 (参考:gnuplotのインストール

$ ./configure CFLAGS="-isystem /usr/local/include" CXXFLAGS="-isystem /usr/local/include" \
   --with-readline=/usr/local --enable-history-file
$ make
$ sudo make install

開発版(CVS 版 gnuplot 4.3.0)

新機能

インストール方法

CVS 版をインストールするには上記インストール手順 (4/4) の代わりに次のようにします。

cvs -d:pserver:anonymous@gnuplot.cvs.sourceforge.net:/cvsroot/gnuplot login
cvs -z3 -d:pserver:anonymous@gnuplot.cvs.sourceforge.net:/cvsroot/gnuplot co -P gnuplot
cd gnuplot
./prepare
./configure --with-readline=builtin --enable-history-file
make
sudo make install

注意 prepare コマンドはバージョン 2.58 以降の autoconf を要求しますが、 configure.in の 8 行目を AC_PREREQ(2.57) と書き換えれば Mac OS X 10.3.6 でも OK でした。

グラフの出力先

AquaTerm

set terminal aqua

とすると、出力が AquaTerm になります。 また、環境変数GNUTERMを指定すると、デフォルトの出力が AquaTerm になります。 bashでは、次のようなコマンドをエイリアス登録すればよいでしょう。

$ GNUTERM=aqua /usr/local/bin/gnuplot

ホームディレクトリに .gnuplot という名前のテキストファイルを用意し、

set terminal aqua

と書いておく方法もあります。

X Window System

出力先をx11にすると、グラフを表示しているウィンドウ上でマウス・キーボード操作によって出力範囲の指定や、3次元の視点変更などが可能になります。また、複数のウィンドウに出力できます。

set terminal x11 {<n>} 
                      {title "<string>"} 
                      {{no}enhanced} 
                      {font <fontspec>} 
                      {{no}persist} {{no}raise} {solid|dashed} {{no}ctrlq} 
                      {close} 
set terminal x11 {reset} 

PostScript プリンター

set terminal postscript color
set output "| lpr -Pprintername"

のようにして、PostScriptプリンターに直接グラフを出力することができます。

Terminal の画面

set terminal dumb

とすると、ターミナルのテキスト画面にグラフを出力することができます。 このとき、グラフは ASCII アートで表示されます。

例)

   1e+06 ++--A-AAAA-+----------+-----------+----------+----------+---------++
         +  A      AAAA A      +           +       "data.dat" us 1:2   A    +
         + A             AAAA                                               +
  100000 ++                  AAA                                           ++
         +                      A A                                         +
         +                         AAA                                      +
   10000 ++                           AAA                                  ++
         +                               A A                                +
         +                                  AA                              +
    1000 ++                                   AA                           ++
         |                                      A                           |
     100 ++                                      A                         ++
         +                                                                  +
         +                                        AA AAA                    +
      10 ++                                             A                  ++
         +                                               A A                +
         +                                                                  +
       1 ++                                                 A              ++
         +                                                A                 +
         +          +          +           +          +          +          +
     0.1 ++---------+----------+-----------+----------+----------+---------++
         0          5          10          15         20         25         30

gnuplot>


他、未整理の情報

gnuplot-mode

PostScript

gnuplotが生成する eps ファイルは癖があるみたいで、 Illustrator や Preview.app で開くとレイアウトが崩れます。 RedHat Linux 7 に付属していた epstopdf という Perl スクリプトを使うと、 レイアウトの乱れがないPDFファイルに変換できました。-- ぜ

GUI ラッパー

Cueplot


関連書籍

Wiki内の関連ページ