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