M2Plot のCUIインターフェース

起動とコマンドの実行

以下のように、M2Plot関数を実行する。

>>> import vis.M2Plot as m2p
>>> p=m2p.M2Plot( dat )

ここで dat はElementContainerArrayかElementContainerMatrixである。(詳細は次項)

この実行の結果、GUIが起動する。 また、 p はインスタンスと呼ばれるM2Plot関数の本体であり、この本体にピリオド+コマンド(メソッドと呼ばれる)をつけることで、コマンドを実行できる。

>>> p.SetXLabel( "Time-of-Flight" )
>>> p.ChangeMap( dat )

コマンドの詳細は後で述べる。

プロット用データ

M2Plotの起動時や、コマンドの NewPlot , ChangeMap などでプロッタに流し込むデータは、基本的に万葉ライブラリの ElementContainerArray である。 ElementContainerMatrix を使用してもエラーにはならないが、そこに含まれる最初のElementContainerArrayのみが使用され、残りは無視される。

与えるデータには、2つのタイプ、直交型データと非弾性散乱粉末データとがある。

データのタイプ

ElementContainerのデータ内容

ElementContainerArray(-Matrix)に必要なヘッダ情報

非弾性散乱粉末データ

ある位置の検出器部位(Pixel)のヒストグラムデータ

"Ei"(string) :非弾性散乱の入射エネルギー

"SAMPLETYPE"(string) : "Powder"

直交型データ

ある位置XにおけるY方向のヒストグラムデータ

特になし。(非弾性散乱粉末データのヘッダ情報以外すべて)

また、直交型データの場合、X軸方向の区切りは、それぞれのElementContainerのヘッダに以下の情報を書き込むことで指定することができる。

ヘッダ情報

意味

XRANGE(Double Vector)

そのElementContainerのデータのX軸上の範囲(初値,終値)。 このヘッダがなければElementContainerArray中におけるElementContainerの順番を表示する。

CUI機能(メソッド)一覧

以下にM2Plotで使用出来るコマンドを示す。

機能

コマンド(メソッド)

引数

新規プロッタを開く

NewPlot(data) or NewPlot()

data: ElementContainerArray, ElementContainerMatrix(注意1)

カレントプロッタを変更する

ChangePlot(n)

n:プロッタ番号

カレントプロッタ上のデータを変更する (軸範囲などの設定は初期化)

ChangeMap(data)

data: ElementContainerArray, ElementContainerMatrix(注意1)

カレントプロッタ上のデータを更新する (軸範囲などの設定はそのまま)

UpdateMap(data)

data: ElementContainerArray, ElementContainerMatrix(注意1)

強度のログ表示を変更する

SetLog(flag)

flag: True もしくは False

強度のスケール(範囲)を変更する

SetZScale( z0, z1 )

z0,z1 : 強度範囲の最小値と最大値、省略すると自動設定

プロッタを閉じる

Close( n )

n:プロッタ番号

X-Zグラフを作成する

SliceX( y, width, bin)

y:スライス範囲の中央のY値

width:スライスの幅(Y±width)

bin:bin幅

Y-Zグラフを作成する

SliceY( x, width, bin)

x:スライスのY値

width:スライスの幅(Y±width)

bin:bin幅

X-Zグラフの連続スライスを実行する

SliceXRange( y0, y1, num, bin )

y0:スライス範囲のYの初値

y1:スライス範囲のYの終値

num:領域の分割数

bin:bin幅

Y-Zグラフの連続スライスを実行する

SliceXRange( x0, x1, num, bin )

x0:スライス範囲のXの初値

x1:スライス範囲のXの終値

num:領域の分割数

bin:bin幅

X軸のスケールを対数にする

SetXLog( flag )

flag : True ログスケール、False リニアスケール (注意2)

Y軸のスケールを対数にする

SetYLog( flag )

flag : True ログスケール、False リニアスケール (注意2)

X軸のラベルを変更する

SetXLabel( xlabel )

xlabel:X軸ラベル

Y軸のラベルを変更する

SetYLabel( ylabel )

ylabel:Y軸ラベル

強度のラベルを変更する

SetZLabel( zlabel )

zlabel:強度ラベル

メインタイトル(文字)を変更する

SetMainTitle( msg )

msg:文字列

サブタイトル(文字)を変更する

SetMainTitle( msg )

msg:文字列

印刷する

Print()

画像をファイルで保存する

Save( path )

path:ファイル名称またはフルパスを示す文字列。 パス指定が無い場合はカレントディレクトリに保存。 ファイル名称またはフルパスに、日本語は使用不可。 拡張子: png, ps or eps

(注意1)

ElementContainerMatrixに含まれている最初のElementContainerArrayのみ表示され、残りは無視される。

(注意2)

0.3.4.1以降で実装。軸の値のどれかが0以下では対数表示できないのでコマンドは無視される。