Gnuplot
Gnuplotとは?
目次
参考


Gnuplotとは?
Gnuplotとはナイスなグラフ作成ツールです.
細かい説明は他のサイトを見てもらえれば分かると思います.

シミュレーションなどで得られたデータをPerlなどのスクリプト言語で整形して
読み込ませることで,簡単にグラフが描けるので便利です.

pm3dによるカラー描画も標準でサポートされています(多分ver. 3.8以降).
また,3D表示したグラフをぐりぐり回して見たり(多分ver. 3.8以降),
アニメーションを作成したりということもできます.

splotグラフをマウスでドラッグしてぐりぐり回して見るのは楽しいです.

とっても多機能ですが,「Gnuplot語」とでも言ってしまいたくなる程構文がめんどくさいです.
覚えられません.
スクリプトファイルにしておいてGnuplotに食わせるのが良いです.


目次
pm3d: グラフの色が本来の値と違う?(2008/06/13) NEW!
BoundingBox いじって EPS のグラフサイズ変更(2008/03/24)
pm3d(2005/10/10)


pm3d: グラフの色が本来の値と違う?(2008/06/13)
下の図,何かおかしいです.
わかりますか?
普通に map

右軸の値は 43 くらいまであるのに,グラフは赤さが足りません.
つまり値が正しい色で表示されていません.



BoundingBox いじって EPS のグラフサイズ変更(2008/03/24)
Y2 軸を使ったりするとたまにグラフのラベルが表示できていないことがあります.
そのような画像を GSview で「Options」→「EPS Clip」オフ,「Show Bounding Box」オン
で表示すると以下のようになります.
例
点線部が Bounding Box で,図を描画するために確保する領域となっています.
つまり,この図は Y 軸の "Z-position [um]" という文字列が
(表示すべきデータとしては存在するのに) 表示できていません.

さて,この EPS ファイルをテキストエディタで開いてみましょう.
以下のような文字列が見えると思います.
%!PS-Adobe-2.0 EPSF-2.0
%%Title: DTMap_5.eps
%%Creator: gnuplot 4.2 patchlevel 0
%%CreationDate: Mon Feb 25 18:07:00 2008
%%DocumentFonts: (atend)
%%BoundingBox: 50 50 410 302
%%EndComments
...
この
%%BoundingBox: 50 50 410 302
の部分を編集してやればいいわけです.

自分で見ながらやってもいいのですが,面倒なので eps2eps を使います.
eps2eps は gs に付属のシェルスクリプトです.
Windows の場合は cygwin を使うと楽.
eps2eps before.eps after.eps
のように打つと before.eps から after.eps が生成されます.
after.eps をエディタで見ると以下.
%!PS-Adobe-3.0 EPSF-3.0
%%BoundingBox: 35 66 414 257
%%HiResBoundingBox: 35.000000 66.100000 413.800000 256.850000
%.....................................
%%Creator: GPL Ghostscript 850 (epswrite)
%%CreationDate: 2008/03/24 19:01:15
%%DocumentData: Clean7Bit
%%LanguageLevel: 2
%%EndComments
BoundingBox が変わっているのが分かると思います.
%%BoundingBox
を元の before.eps に上書きしてやれば OK です
(after.eps は多分解像度が低くなっているのでそのままでは使わない方が良いでしょう).
%%HiResBoundingBox
は通常指定しなくてもいいです.
HiResBoundingBoxに対応しているソフトウェア
DTPWiki
を使い,凄く微妙なサイズをこだわる際には書くと良いと思います.


参考:
PostScriptファイルのBoundingBoxについて
Gnuplot入門 第0.08版
BoundingBox について知らない人は一度.

gnuplot / postscript
gnuplot tips (not so Frequently Asked Questions)
eps2eps の存在を初めて知りました…(これを書いた当時).

IllustratorでTeX数式
物理のかぎしっぽ
ていうか eps2eps って eps をアウトライン化してるんですね.

EPS, PDF, PS と R や Linux (出版時に使う EPS ファイル)
気象学研究室 - buran
eps2eps で文字がビットマップ化されるのを回避するために解像度を上げる方法.


pm3d(2005/10/10)
pm3dを使えば,こんな感じ→→→→→→→→→→
のカラー表示ができます.
例
やり方はというと簡単で,
set pm3d
のように指定するだけです.


pm3dを使い出した時,plotしても全く表示されないということがありました.
日本語のサイトを見てもなかなかpm3dについては書いてないので,本家を見ると…↓.

3.10 Pm3d splot from a datafile does not draw anything
[Gnuplot FAQ]
以下要約.
データファイルをpm3d・splotしても何も表示されないのはどうして?
"set pm3d"をしているのにプロットが真っ白でカラーボックスも出ていない――
そういう時はデータファイル内の等値線ブロックの間に改行がないはず.
具体的に知りたかったらGnuplotディレクトリ下のdemo/glass.datやdemo/triangle.datを見てみよう.

(あとは1列目の数字が変わったら空行を追加するawkスクリプトの説明だから割愛)


これは例を見た方が分かりやすいでしょう.

GLASS.DATは
  0.380066  -0.422106  -0.911000
  0.518894  -0.231027  -0.911000
  0.568000  -0.000000  -0.911000

  0.341741   0.000000  -0.905215
  0.312196   0.138999  -0.905215
  0.228669   0.253963  -0.905215
……
のように,TRIANGLE.DATは
0 0 1
1 0 2

0 1 1
1 1 2
2 1 3
3 1 4

0 2 1
1 2 2
2 2 3
3 2 4
4 2 5
5 2 6
……
のようになっている.

つまり,ある程度 (どの程度かは場合による) の固まり毎に空行を入れろということ.

真面目に人力で空行を入れると疲れるので,スクリプトを走らせると楽です.
例えばx,y,zを昇順に並べる(優先度はx,y,zの順)perlスクリプトの概要は以下のファイルのように.
xyzAscend.txt
実際使用するときは自分に合ったように手直しして,拡張子を".pl"にして下さい.
# 元あったスクリプトをだいぶ書き換えたので動作保障はしません

カラーマップを使った3次元表示 (pm3d)
[T.Kawano's Web Page]
とってもわかりやすいです.

gnuplot-4.0.0 デモ画像
[OHTA'S HOME PAGE]
pm3dを使ったカラーのデモ画像 (ソース付き) がたくさんあります.
pm3dのグラフを作るときには大変参考になります.


参考

本体・更新情報
●英語: gnuplot homepage
本家.

●英語: SourceForge.net: Project Info - gnuplot development
[SourceForge.net: Welcome]
最新版や開発版(CVS)のダウンロードはこちらで.

GNUPLOT 日本語化・機能拡張 (PLUS-enhanced) パッチ公式サイト
やま・がドットコム
gnuplotのtitleとかlabelに日本語を使いたい場合に,これを使いましょう.
あと,TeXのコマンドを読めるので,数式を綺麗に書きたい場合にも.

グラフは Gnuplot にお任せ
[Home Page of Thin Films Lab.]
最新版などの情報に詳しい.
Gnuplot Q&A 掲示板は賑わっているので,
分からないことがあれば尋ねてみるのも.

gnuplot について
[shige's Home page]
gnuplotについての色々な情報が.

マニュアル・コマンドリファレンス
gnuplot 3.7.X, 3.8X, 4.X のマニュアルの日本語訳
[TAKENO LAB home page]
マニュアル,ヘルプファイルなどが日本語化されています.

GNUPLOT 日本語リファレンス・ガイド
[OGURISU Osamu's Welcome Page]
コマンドがわからないならここ.
但しver. 3.5なのでちょっと古いです.

Tips
gnuplot tips (not so Frequently Asked Questions)
[T.Kawano's Web Page]
大体の場合はここを見れば分かります.

GNUPLOT 基礎講座
[Nakamura Laboratory Top Page]
一から勉強したい方にオススメ.

gnuplot
[Inakura's webpage @ Niigata Univ.]
詳細に説明してあります.
分からないことがあったらこのページで[Ctrl + F]したら分かりそう.

gnuplot に関する情報
[Shiiba's Web Page]
これも詳しい.

GNUPLOT るさんちまん
[Oshiro Naoki.]
メモが役立ちそうです.

←フレーム表示