DOSEIの日記

技術メモ+日常ログ

Gnuplot

Gnuplot でベクトル場を描く (drawing a vector field by gnuplot)

最初は、 4.6 からできると書いていたが、実は 4.4 からできることに気付いたので修正した例えば、 V(x, y) = [f(x,y), g(x,y)] といった関数で指定されたベクトル場を描きたい。 基本的には、[x, y, f(x,y), g(x,y)] という座標と値の組のデータを生成すれ…

Fedora 17 に Gnuplot 4.6 を入れる

Fedora 17 の Gnuplot は 4.4 だが、最新版の魅力は捨てがたいので、 Rawhide リポジトリの 4.6 を入れる。最近の Fedora は、標準で rawhide リポジトリの設定が入ってなく、別のパッケージで提供されている。 sudo yum install fedora-release-rawhide sud…

label の offset

4.4 で確認。 label に offset を x,y,z で与えることが出来るが、 3 次元的には相対移動しない。これはバグだろうか?test code set label "X" at 1,0,0 offset char 1,0,0

点ごとの色づけと大きさ

Gnuplot 4.4 (それ以前はどこからか不明) では、点ごとに大きさと色をデータファイルから指定できる。例えば、 # x y z size color (RRGGBB in hexadecimal) 0 1 2 1 0x403102 1 2 3 5 0xFF00FF ...といったデータファイル "data.txt" を用意して、 splot "d…

標準出力からの入力データのキャッシュ

Gnuplot に標準出力のデータを読み込ませるには、特殊なファイル名 "-" を使用するか、 " のように実行するコマンドを書く。以前のバージョン(どれかは忘れた)では、 replot されるたびに読み込みなおされる仕様だったので、前者では再入力、後者ではコマ…

3D プロットでの座標軸の比率固定と射影

平面プロットでは、 set size ratio -1 で、縦横軸の単位長さを同じに固定できる。正の値の場合は、値域の長さ(つまりプロット枠)の比になる。で、 Gnuplot 4.2 から、 3D プロットでの軸の比率の固定ができるようになった。 set view equal xy または set…

Gnuplot 4.4 を Ubuntu 10.4 に入れる

http://www.gnuplotting.org/installing-gnuplot-under-ubuntu-lucid-lynx/

4.2 と 4.4 の wxt ターミナルでの lmargin, rmargin

margin 系は単位として character が使われる。これはターミナルのフォント指定を基準とするもので、 x 方向と y 方向で単位長さが違う。この座標系は、 set arrow などでの位置を指定する座標系としても用意されていて、左下を原点とする、原稿用紙のような…

ターミナルの一時退避

どのバージョンからかしらないが、ターミナルの設定を記憶・復元するコマンドが出来ていた。現在のターミナルを覚えるには、 set term push、そのターミナルに戻すのは set term pop。一時的にファイルに出力などする場合に便利。なお、起動時に、初期ターミ…

座標に関するメモ

ticslevel と xyplane

3 次元プロットでは、 z 軸が底上げされている。これは、従来 set ticslevel で指定でき、 0 とすれば「底」 (x, y 座標の軸や tics が表示される面) にぴったりつく。値の意味は、 z range の幅の何倍で底上げするか、である。初期値は 0.5。というわけで、…

4.4 での新機能

4.4.0 Release Notes New features introduced in version 4.4 UTF-8 に対応 反復的な展開。複数の同じ条件のプロットを書きやすくなる index の改良 特に、ブロックを指定する index は、 4.2 までは、index m:n:p の n を省略できなかったが、可能になった…

今後利用していきたい設定・機能

//www.gnuplot.info/docs/node178.html">set Dummy:パラメトリックモードで、ダミー変数名を変更できる //www.gnuplot.info/docs/node209.html">set Offset:プロットの範囲に、常に上下左右のマージンを確保する //www.gnuplot.info/docs/node226.html">set …

自動インデックスをラベル化するには (Gnuplot 4.2)

Gnuplot の 2 次元プロットを考える. (3 次元でもほぼ同様) 通常データのプロットでは、 y 座標だけのデータか、 x, y 座標のデータを与える. それぞれ、 using に使われる列番号は以下のように対応する。 データ $0 $1 $2 y 座標のみ 自動インデックス y な…

Expecting exponent

Gnuplot では文字列の連結を . で書く。 b = 'c'; print 'a'.b # ac を出力 しかし、以下のコマンドはエラーとなる。 e = 'd'; print 'a'.e # ERROR: expecting exponent エラーの意味は、「指数を指定する必要がある」だが、どういうことか。 実は、 Gnuplo…

gnuplot 4.2 で環境変数を取得する方法 (How to get environmental variables in Gnuplot)

gnuplot 4.2 には環境変数を取り出すコマンドは用意されていない。が、シェルスクリプトで引数を渡して実行したいことがよくある。 temp ファイルを作る ひとつの方法としては、スクリプトで値を代入するコードをファイルに出力して、それを gnuplot の方で …

.gnuplot を読み込まない

Cygwin の gnuplot は、.gnuplot を読みに行かないっぽい。ナンデカー。

間引きして出力

大量のベクトル場データをプロットすると、密度が高すぎて何も見えなくなる。そこで、ある程度の間隔で間引くわけだが、間引いたデータを生成するのは面倒くさい。そこで、 Gnuplot の力で解決する。4カラムで、(整数x座標), (整数y座標), (ベクトルのx成分)…

プロットのスタイルの一覧

出力端末によってプロットのスタイルや色は異なる。例えば、 X11 上では丸い点だったとしても、 EPS にしたら違う記号になってたり…。 lt や pt の番号と形や色の対応表は、 test コマンドで出力できる。X11, EPS, PDF で比較してみると、せいぜい 5 番まで…

style * の意味

Gnuplot では、矢印(もしくは線分)を定義して、常に表示することができる。 矢印は以下の属性を持つ 矢印番号: 矢印ごとにユニークな番号で 1 以上の整数 始点座標(from) 終点座標(to) 矢印の有無: head(デフォルト), nohead, heads のいづれか。 矢印のサ…

set size の ratio と square は、 3D プロットには効かない。 ただし、 x,y,z のレンジがすべて同じならば、 set size ratio -1 で等幅になる。

Gnuplotの球面座標系(set mapping spherical. 略して se map s)は、方位角(azimuthal angle)θ、極角(polar angle)φ、半径r(省略時は1)で与えられて、北極から南極にかけてφ∈[−π⁄2, π⁄2] である(赤道でφ=0)。地理学的、つまり普通の緯度(longitude)と経度(l…