グラフ作成と科学的可視化---グラフィックツールの紹介・比較
私が使ったことのあるグラフ作成ツール、ライブラリを紹介し、どのような仕事に向いているか、私の考え(独断と偏見)を述べます。参考にしてください。主にGnuplot、GMT、PGPLOTを比較しています。
PGPLOTのページから独立・整理 (2000/8/25)
あなたはだいたい
人目のお客様です。(2000年8月25日以降)
Gnuplotは、主に対話的な利用を想定したグラフ作成ツールです。フリーソフトウェアですが、GNUのplot、という意味ではありません。「ぬーぷろっと」または「にゅーぷろっと」と読んでください。次に挙げるような特徴があります。
- 2次元および3次元のプロットが可能。
- コマンド行ベースの対話的なインターフェイスから利用する。コマンド
を書いたファイルを食わせることもできる。利用は非常に簡単である。
- X窓、(Encapsulated) PostScript、Tektronix端末をはじめとして、数
多くのデバイス、ファイルタイプ、プリンタをサポートしている。
- Gnuplot 3.6以降では、きれいなグラフを作ることができる。
(しかしグラフの美しさでは、GMTにはかなわないと思う。)
Gnuplot 3.5までは、グラフはあまりきれいではなく、グラフ作成の自
由度も低かった。たとえばマーカーの大きさを変えることができなかっ
た。
「簡単なグラフを簡単に作る」ためには、Gnuplotがもっとも適していると思います。私も多用しています。
Gnuplotの最低限の使い方を説明したページを作りはじめました。私の所属する学科の3年生向けに書いたものなので、世間一般の方の参考になるかどうかは分かりませんが、興味がありましたらご覧下さい。(東大生のレベルの低さを露呈するようで、ちょっと恥ずかしい ^^;;)
最低限のGNUPLOT
地球物理や地質学の分野でよく用いられているグラフィックプログラム群で、
60種類ほどのプログラムの集合です(ライブラリではない)。
- 2次元のプロットが主。3次元的な表現も可能。
- 出力はPostScript (EPS)のみ。出力形式をEPSに絞ることで、高品位の
出力を実現している。非常に美しいグラフが作れる。
- グラフの枠や地図を描くプログラム、グラフの点や線を描くプログラム、
等値線図やイメージマップを描くプログラムを、順番に呼び出すことで、
一つの出力図形(PostScriptファイル)を作成する。
- 上記の特徴から、シェルスクリプトなどにコマンドを固定して利用する
ことを想定している。
- 地球全体の地図情報(海岸線情報など)を自前で持っており、簡単に各種
の地図を作成できるので、その種の研究を行っている方には便利だと思
います。
GMTに関しては、私もまだ使い始めたばかりなので、詳しいとは言えません。私にとっては、出力が非常に美しいのが最大の魅力です。論文に載せるための図などは、GMTで作ろうと考えています。また、地球物理の分野など、地図を背景にしたグラフを描きたい場合にも、GMTをお勧めします。ただし、出力形式がEPSに限られているので、画面で確認しながらの作業はちょっと面倒です。
GMTの紹介ページを作りはじめました。参考になれば幸いです。
GMT - The Generic Mapping
Tools
PGPLOT Graphics Subroutine Libraryは、FORTRANやCなどから呼び出せる、デバイスに依存しないグラフィックスパッケージ(ライブラリ)です。ライブラリなので、プログラムの中から利用することになります。PGPLOTの利点は、多種の出力デバイスに対応しており、その扱いが非常に簡単なこと、FORTRAN以外のプログラミング言語からも使えること、UNIX環境との親和性が良いこと、などが挙げられます。
- 特に2次元のグラフや図形、等値線図(コンター)を描く機能に優れてい
る。
- X Window System, Tektronix端末, (Encupsulated) PostScript, Canon
LaserShot, Compuserve GIF, HPGLなど、多くのデバイス/フォーマット
に対応している。
- ライブラリなので、プログラムに組み込んで利用する。面倒だが、自由
度が高い。データファイルの形が単純な数字の羅列でない場合や、計算
プログラムから直接に図を作りたいときなどに便利。
- プログラムの中から、PGPLOTのルーチンを繰り返し呼び出すことで、実
時間アニメーションが可能。
私の所属する研究室では、PGPLOTは等値線図の作成、アニメーション、および専用プログラムの作成と利用の、3通りの使い方をされています。「専用プログラム」とは、特殊なデータファイルを読んで、定型グラフを作成するためのプログラムで、数値計算プログラムが吐き出すデータを可視化する目的で、当研究室で多用されています。
PGPLOTの紹介ページを作っています。参考になれば幸いです。
PGPLOTでグラフを描く
- とりあえずちょっと見てみよう、という目的には、断然
Gnuplotをおすすめします。なんといっても簡単です。
私はたいていのグラフの作成には、Gnuplotを使って済ませています。
- 論文に載せるためのグラフを作成するには、私の意見では一番きれいな
図を作るのはGMTだと思います。Gnuplotを利用する
場合は、バージョン3.6以降を使うことをおすすめします。
- 数値シミュレーションを行いながらの実時間アニメーションをしたい場
合には、PGPLOTを用いてプログラムを組みます。
GnuplotやGMTでは難しい。"実時間"でなくとも、アニメーションを行う
のであれば、PGPLOTを使うのが簡単です。
- お絵書きをする場合、つまりいわゆる"グラフ"ではない図を作りたい場
合には、PGPLOTがよいでしょう。ほかのツールでも可能ですが、結局は
何らかのプログラムを書いて頑張ることになりそうなので、それなら最
初からPGPLOTでプログラムを組むのが楽だろう、という判断です。
- ある種のグラフを作成するための専用プログラムを組みたい場合には、
PGPLOTまたはGMTをおすすめします。画面に表示させて結果を確認した
い場合には、PGPLOTでプログラムを組むのが簡単です。EPSに出力する
のも簡単です。画面表示を多少犠牲にしてでも、きれいなグラフを得た
い場合にはGMTの方が優れていると思います。
- どのツールでも、等値線図(コンター図)を作成できます。機能がもっと
も充実しているのはGMTで、次はPGPLOTでしょう。Gnuplotでも等値線図
の作成は可能ですが、グラフの作成方法や縦横比の調整が直感的ではな
く、面倒です。
以上、私の感想を述べました。参考になりますでしょうか。あなたの目的に合わせて、最適なツールを選択してください。
-
地球流体電脳ライブラリ
地球流体関係者が長年にわたり蓄積してきたFORTRANライブラリ、だそ
うです。日本語の詳しいドキュメントあり。グラフィックライブラリと
しての機能は、PGPLOTとさほど変わらないようだ。
- OpenDX
科学的可視化プログラム。
IBM Visualization Data Explorerがオープンソース化されたもの。ほ
んのちょっとしか使っていないのでよく分かりませんが、AVSを
使いやすくしたような感じで、好印象でした。英文ですがドキュメント
が非常に詳しいのも見逃せません。引き続き調査中です。
- Tcl/Tk
Tcl/Tkは優秀なGUI部品を備えたプログラミング言語です。グラフ作成
専用のツールではありませんが、私の研究室ではTcl/Tkを簡易画像解析
に使うときがあります。つまり写真やビデオ映像などを取り込んで画面
に表示し、マウスでクリックして座標を読み取る、などの操作をする
プログラムを組むのに、Tcl/Tkを使っています。
トップページ
工学院大学
・
機械工学科
・
流体研
リンクはご自由に。でもメールをくれると嬉しいな。
金野 祥久
konno@researchers.jp
Last modified: Mon Aug 28 10:25:56 JST 2000