2014年3月19日水曜日

gnuplotでサポートされているmatrix形式について

バージョンは4.6。
3次元プロットをする時、データを行列形式として扱う場合、一様な格子のmatrixデータとして

z11 z12 z13 z14 ...
z21 z22 z23 z24 ...
z31 z32 z33 z34 ...

等として扱える。しかし、座標情報が欠落しているため、ticsを調整してxy軸の座標を与える必要があった。
今回バイナリの扱いについてマニュアルを読んでいたら、以下のようなmatrix形式がサポートされているようだが、(32bit float型の配列)

          ...  
    ... 
    ... 
 :      :      :      :   ...    :

同様なフォーマットで座標情報を保持した行列形式テキスト(ASCII)ファイルを扱う事ができるようだ。
使い方は、

splot "" nonuniform matrix w l

のように、nonuniformオプションを利用することで、第1行をy座標、第1列をx座標として読んでくれる。
テキストファイルの場合、最初のは意味を成さない。
バイナリファイルの場合、一つの曲面に対してファイルが一つ必要なのに対し(skipオプションとかで対応できるのだろうか)、テキストファイルはインデックス指定が可能なので複数のデータを一つのファイルにまとめることができる。