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以下では対数表示できないのでコマンドは無視される。