夕顔2次元可視化M2Plot+#
概要#
M2Plot+は、万葉ライブラリのデータコンテナである ElementContainerMatrix や ElementContainerArray などに収められたデータを2次元での可視化(プロット)を行うために使用されるソフトウェアである。主にMLFデータ処理環境 空蟬 のGUIソフトウェア(アプリケーション)から呼び出されて使用されることが多い。 なお2次元でのプロットというのは座標(X,Y)における強度(Intensity)を表示(contour map plot)することを意味する。
また表示するだけではなくX方向、Y方向をスライスし結果をプロット(MPlotによる)することも可能である。
なお、M2Plot+はPythonで書かれており、その起動はデータ処理で使用されるアプリケーション(SequenceEditorや非弾性可視化ソフトウェアなど)から必要に応じて呼び出されることが多い。一方コマンドラインからモジュールとして起動ことも可能である。
本章では、GUIによる使用方法と、CUIによる制御について記述する。
起動方法#
SequenceEditorやDetectMapアプリ、非弾性散乱用アプリ(VisualContM, D4Matシリーズなど)から呼び出されることが多い。アプリアイコンから単独で起動することも、コマンドラインで起動することも可能な環境もある。
終了方法#
メインパネルのウィンドウタイトルバーにあるCloseボタンを押す。
基本的な使い方#
他のアプリケーションからデータをプロットするために起動された直後は以下のような二つのパネルとウィンドウで構成される。Main Panelではデータをプロットし、それぞれの軸のスケールを指定したりできる。Plot Windowではその結果が表示される。
表示直後は、せいぜいプロットの強度や軸を設定するくらいなので、メインパネルで必要な部分を見てみる。
メインパネル#
主に3つの部分に分かれており、図中の Plot Data Area はデータをプロットするのに必要な軸を選び、 Show ボタンでプロットを表示・更新する役割を持つ。
頻繁に使用するであろうプロットの強度や軸の範囲の設定は、 Axes Setting Area で行う。
例えば、強度の範囲を変更したい場合は以下のようになる。
Auto Scale のチェックボックスを外し
Range の二つの欄に最小値と最大値を入れて
Apply ボタンを押す
すると、プロットウィンドウの図が変わったことが確認できる。
同様に X Scale や Y Scale も変更可能である。
強度や、軸方向のスケールをログにするには、 Log Scale のチェックを入れれば良い。
次にざっくりとプロットウィンドウを使用してみる。
プロットウィンドウ#
データはプロットウィンドで表示される。二次元データは 2D Plot Areaに表示される。プロットウィンドウはマウス操作で拡大・縮小・縦横比変更などが自由に行える。またこのサイズは数値で指定することも可能である( Set View Parameters ダイアログを使用 )
中央の2D Plot Areaにマウスカーソルを持っていき、適当な場所をクリックすると、上と右にある X-Intensity Slice 及び Y-Intensity Slice にその点を中心としたX方向及びY方向のラインの強度がそれぞれプロットされる。
同様にドラッグを行うと、ドラッグした領域に対して網掛けの選択領域が表示され、その範囲内のX方向及びY方向の強度がそれぞれプロットされる。
このスライスしたデータを、1次元プロッタである MPlot を別ウィンドウとして起動して表示することも可能である。
上と右の X-Intensity Slice 及び Y-Intensity Slice 上で右クリックを行うと、プルダウンメニューが表示される。
ここで Add To MPlot を選択すると新しくMPlotが起動し、そのスライスが表示される。
ツールバー#
ツールバーを使うと、プロットウィンドウに関する各種設定を行うことができる。
ツールバーにはMPlotと共通の基本ツール部分と、M2Plot専用部分がある。ここではM2Plot+専用のツールを見ておく。
プロット画面をファイルに保存する。領域はTitle以下、Mouse Positionより上の領域である。
M2Plot+の設定用ダイアログ( Set View Parameter )を開く。M2Plot+の見た目に関する全ての設定が行える。詳細は次章以降にて述べる。
このボタンはトグル式になっており、押された状態だと X-Intensity Slicer 及び Y-Intensity Slice の領域が消される。
このほか、メインパネルの Fileメニューからテキストに保存なども可能である。
おおよそ、この程度のことができると可視化については大体のことが可能になると考えている。より詳細な設定項目などは次章以降を参照すること。
仕様の詳細#
Main Panel#
Main Panelは下図のように主に3つのエリアに分割できる。それぞれ以下に説明する。
Plot Data Area#
M2Plot+に与えられたデータから表示するための軸を設定し、プロットウィンドウにて表示するための設定である。ただし、他のアプリケーションからデータとともに起動した場合、このエリアは既に設定が終わっていることが多く、あらためて設定することは少ないだろう。
M2Plot+で表示するデータコンテナは、プロットする時に使用するX軸の配列とY軸の配列、強度の配列が含まれている。それらを指定する設定である。
それぞれの配列は Key という名前でデータコンテナに登録されているので、 X axis と Y axis そして Intensity で対応する Key を選択する。またそれらに対してプロッタ上で表示される各軸の名前 ( Label ) と単位 ( Unit )も設定可能である。
また与えられたデータが2次元検出機のマップデータの場合は、このエリア下部の Summation range の欄もアクティブとなり、同様にKeyを設定できる。
このエリアにはボタンが二つある。
- Openボタン
データコンテナがバイナリファイルとして保存されていた場合、このボタンを利用してデータを読み込むことができる。ただし、読み込めるファイルは万葉ライブラリの基本データファイルである ManyoBinary (拡張子が “.mdb”)のみである。
- Showボタン
このボタンを押すと上記の X axis などの情報を用いで与えられたデータをプロットウィンドウにて表示される。
- MoveToFrontボタン
Showボタンの右にあるボタンは、このMain Panelに対応するプロットウィンドウを画面の手前に持ってくるボタンである。複数のウィンドウが表示されていて埋もれてしまったときなどに用いられる。
Axes Area#
Showボタンを押してプロットウィンドウが表示されているときにアクティブになるエリアである。ここではX軸、Y軸、強度のスケールを変更できる。それぞれの軸にて指定できるのは以下の項目である。これらのパラメータを指定した後、 Apply ボタンによりプロットウィンドウに反映される。いくつかの設定項目は変更直後に反映される。
Auto Scale |
強度や軸の範囲をデータの最小値と最大値で指定する |
Range |
強度や軸の範囲を入力する |
Log Scale |
強度や軸のスケールをログ表示にする |
Smooth |
強度分布に対してスムージングを行う。matplotlibのガウス関数にて行われる。 パラメータとしては window(作用幅)とtime(回数)が設定できる |
Inversion |
軸の最大値と最小値の位置を入れ替える |
Slicing Area#
このエリアでは、プロットウィンドウで表示されたデータに対し、X軸方向やY軸方向にスライスを行ったり、対角線上にスライス、またスライスに対するいくつかの設定を行うことができる。これらの設定はタブによって切り替えられる。
Along X axis / Y axisタブ#
X軸方向もしくはY軸方向へのスライスを行うタブである。
スライスの領域の指定は以下の二つがある。
- X Value / Y Valueチェックボックス
スライスの中央値と幅で指定する。なお、 To と Step を指定することで、Value値を開始として To値まで Step値の刻みで連続スライスを行うことができる。
- X Range / Y Rangeチェックボックス
スライスの範囲を最小値と最大値で指定する。なお、 delta を指定することで、最小値と最大値を delta値の刻みで連続スライスを行うことができる。
そのほかのチェックボックスやボタンの機能は以下のようになる。
- Rebinチェックボックス
スライス結果の横軸のbinサイズを変更するときに用いる。
- 1D Plotボタン
MPlotにてスライス結果を表示する。すでにMPlotが起動している場合は、新しくスライスしたデータをMPlotに追加する。
- Clearボタン
MPlot上に表示されているスライスデータを一旦クリアする。
- 2D Plotボタン
(未実装)
連続スライスについて#
Along X axis / Y axisタブでは、2種類のスライス指定方法(中央値と幅指定 or 範囲指定)に対して、それぞれ連続スライスが可能となっている。
中央値と幅指定の場合の連続スライスでは、上記の図にある、2.0 +- 0.1 の部分が初期値(シングルスライスで使用する部分)となり、下段の To: の右欄(図中4.0)が連続スライスの最大中央値となる。 Step: の右欄(図中0.2)では連続スライスの移動幅(スライスとスライスの間隔)を指定する。
このTo: と Step: を入力して、[1D Plot]ボタンを押すことで、MPlotが起動し連続スライスの結果が表示される。
なお上図の例では、中央値が2.0から始まり4.0まで0.2刻みで変化することを意味する。すなわち中央値は2.0 -> 2.2 -> 2.4 -> … -> 4.0 と変化し、スライス幅は+-0.1で固定となる。結果、MPlot上には11プロット表示される。
一方、範囲指定のスライスの場合では、 通常のシングルスライスでの指定方法(スライス範囲の最小値と最大値)に加え、deltaの右欄にスライス幅を指定する。この場合、最小値がスライス幅に従って最大値まで増加する形となり、この例の場合、2.0-2.5, 2.5-3.0, 3.0-3.5, 3.5-4.0, 4.0-4.5 という5つのプロットとなる。
Diagonalタブ#
矩形方の指定範囲の対角線方向へのスライスを行うタブである。
ここで使用されるパラメータは以下の通りである。
Start |
始点のX値とY値 |
End |
終点のX値とY値 |
width |
スライス線に垂直な幅 |
binning |
スライス方向の分割幅 |
- 1D Plotボタン
上記の設定値で対角線スライスを行う。スライス結果の横軸はStart点(始点)からの距離であり、その分割数はbinning値で指定する。width値は対角線に垂直な方向の幅で、この範囲内にあるデータ点をスライスの強度計算に用いる。
- 2D Plotボタン
(未実装)
Settingsタブ#
スライスに関連する設定を行う。
Integration |
Average |
スライス領域内の強度をbin毎に平均値をとりスライス強度とする |
Summation |
スライス領域内の強度をbin毎に足し合わせたものをスライスの強度とする |
Set View Parametersダイアログ#
M2Plot+のほぼ全ての設定が行えるダイアログである。ToolBar の Set View Parameters を押す、もしくは Edit メニューから Set View Parameters を選択ことで表示される。
以下に Set View Parameters ダイアログで設定できる項目を示す。
Axes Scale Area#
このダイアログの上半分では、X軸及びY軸に関する設定を行う。
Group |
Items |
Meanings |
---|---|---|
X,Y Scale |
Label |
プロット軸のラベルと単位を設定 |
Log Scale |
軸のログスケールのオンオフ |
|
Inversion |
軸の方向の逆転 |
|
Auto Scale |
軸の範囲を自動的に設定 |
|
Range |
軸の範囲を指定 |
|
Thicks Label Format |
Auto Format |
軸に付随する数値のフォーマットの自動化のオンオフ |
Format |
数値のフォーマットをFloating PointかExponentかを選ぶ |
|
Precition |
数値の桁数 |
Plot Settings#
このダイアログの下半分では、タイトルやグリッド、強度のカラーマップなどプロットの見栄えに関する設定を行うことができる。タブで設定項目を切り替え、下部にある Apply ボタンでプロットウィンドウに反映させる。
以下にそれぞれのタブにおける設定項目を示す。
General タブ#
タイトルやコメント、プロットウィンドウのサイズの数値指定などが可能である。設定したのちに画面下部にある Apply ボタンを押すとプロットウィンドウに反映される。
- Title
プロットウィンドウ上部にあるTitle部分の文字を変更する。
- Comment
プロットウィンドウwのコメント欄(Slice表示時は右上、非表示時はTitleの下)に表示する文字を設定する。Slice非表示の場合Commentの表示欄は左右に二等分されておいる。コメント文に ; (コロン)が含まれていると、そこで文章が分割され二つのコメント欄にそれぞれ表示される。
- Main plot width / height
プロットウィンドウのサイズを数字で指定できる。 Current ボタンを押すと直前のプロットウィンドウのサイズが取り込まれる。
- Auto Update
Plot Setting にある各種設定のうち、いくつかの設定において Auto Update を可能とするチェックボックス。これがオンの場合、例えばGridタブの各種設定は Apply ボタンを押さなくても即座に反映される。これがオンだと便利だが、ときに動作が緩慢になる時があるので注意。
- Slice Mode
スライス時の強度計算を平均値を計算するか、単純な足し算(和)にするかを選択する。
Gridタブ#
2D Plot Areaで表示できるグリッドの設定を行う。
X軸方向に引くグリッド(Horizontal)とY軸方向に引くグリッド(Vertical)についてチェックボックスにて、表示のオン・オフが切り替えられる。 同時にそれぞれ下記のような設定が可能である。
Color |
グリッド線の色 |
Style |
グリッド線の種類 (“Solid”, “Dotted”, “Dashed”, “Dashdot” ) |
Width |
グリッド線の幅 |
Interval |
グリッド線の間隔、通常は空っぽで良い。 数値を入れるとその数値の間隔を開けてグリッドが引かれる |
Color Mapタブ#
2D Plot Areaでの強度方向のカラーマップやスムージングなどの設定を行う。
Color Map |
プルダウンから使用するColor Mapを指定する。 |
Log Scale |
強度方向のカラーマップをログスケールで表示する。 |
Smoothing |
スムージングを行う。Windowはスムージングをかぶせる範囲、Timesはその回数である。 |
Auto Scale |
プロットする強度の範囲を自動的に与える。 |
Range |
Auto Scaleがオフの場合に強度の範囲を最小値と最大値で指定する。 |
なお、上限値のみを変更できる強度のスライドバーも存在し、使用可能である。
Ticks-Frameタブ#
2D Plot AreaでのTicks(軸の刻み)や、バックグランドの色についての設定を行う。
Mask Color |
データ点にマスクが掛かっている場合の色を指定する |
BG Color |
データ点が存在しない場合の色を指定する |
Add Ticks |
軸の刻みを表示したい軸(上下左右)にチェックする |
Ticks Color |
軸の刻みの色を指定する(デフォルトは黒) |
Major Ticks |
軸の刻みの長さ(Length)と幅(Width)を指定する |
Minor Ticks |
表示したい場合チェックを入れ、刻みの長さと幅を指定する |
Frame Line Width |
プロットの枠線の太さを指定する |
Fontタブ#
2D Plot Areaでのフォントのサイズと種類を設定する。
Title |
タイトル |
Comment |
コメント |
X Label |
X軸のラベル(単位も同様) |
Y Label |
Y軸のラベル(単位も同様) |
X Ticks Label |
X軸の刻みの数値 |
Y Ticks Label |
Y軸の刻みの数値 |
Colorbar Ticks Label |
カラーバーの刻みの数値 |
GUI詳細仕様:OverPlot機能#
OverPlot機能はM2Plot+でのプロット上に、さらにラインをオーバープロットできる機能である。
ただし、一次元の線だけである。線の色や太さ、線種などは変更可能である。基本的な操作としては、以下のようになる。
オーバープロットしたいテキストファイルを用意し
オーバープロットダイアログから読み込む
読み込ませるファイルには2種類ある。
MPlotのSaveAsで保存したテキストファイル
単純なテキスト
AはMPlotで出力したファイルである。Bのテキストファイルは下記のように1点を X値、Y値、必要ならError値を1行に書く形式である。
<X1>,<Y1>[,<Error1>]
<X2>,<Y2>[,<Error2>]
...
具体的には下記のように単純にXとYを並べるだけである。
0,0
0.5,8.0
1.0,22.0
1.5,8.0
2.0,22.0
2.5,10.0
3.0,18.0
3.5,14.0
4.0,15.0
次にこのテキストファイルを読み込むために、オーバープロットダイアログを呼び出す。 下記のようにプロットウィンドウのメニューから呼び出す。
結果として、下記のようなダイアログが開く。
ここで、 Add File … ボタンを押して用意したテキストファイルを読み込むと、下記のように1行追加される。
行の先頭の Disp チェックボックスを利用すると表示・非表示が指定できる。同じ行には以下のような項目があるので、それぞれ設定が可能である。
設定 |
意味 |
---|---|
Disp |
表示・非表示 |
Color |
色 |
Style |
線の種類(Line, Dots, …) |
LW |
線幅 |
Marker |
マーカー |
Size |
マーカーのサイズ |
Err |
Y軸方向にエラーバー (あれば) |
扱えるデータタイプ#
なお、M2PlotPlusで表示できるデータコンテナは以下のようになっている。
汎用2次元データ |
ElementContainerArray |
汎用的な2次元データ(X,Y,Intensity)である |
ディテクターマップデータ |
ElementContainerMatrix |
ディテクターマップモードで動作するが一部機能が未実装 |
非弾性散乱パウダーデータ |
非弾性散乱処理でパウダー処理を行なったデータ |
CUI操作の概要#
M2Plot+はPythonのスクリプト上で動作させるためのCUIも準備されている。以下ではPythonインタプリタ(コマンドインターフェース)での使用を中心に述べる。
まず、M2Plot+のCUIモジュールである M2PlotPlusCui を読み込み、起動する。
>>> import uGao.M2PlotPlusCui as M2P
>>> p = M2P.M2PlotPlusCui()
あらかじめデータが作成されているなら、起動時に指定できる。参考例では ECA をデータとする。
>>> p = M2P.M2PlotPlusCui( ECA )
もし起動後にデータを与える場合やデータの変更を行う場合は以下のようなコマンドを用いる。
>>> p.ChangeData( ECA2 )
データを与えられたらプロッタを開く(GUIの Show ボタンと同じ機能)
>>> p.ShowData()
なお、データの軸を選択してプロットする場合(GUIのメインパネルの X axis や Y axis の設定)は以下のように指定する。
# "Qx"と"Qy"がそれぞれ X axis と Y axis とする場合
>>> p.ShowData( "Qx", "Qy" )
また、強度方向のスケールを変更することや、X軸Y軸のスケールを変更することも可能である。詳細は次章で述べる。
>>> p.SetIntScale( 0, 200 ) # 強度の範囲を0-200で表示
>>> p.SetXScale( -5, 5 ) # X軸の範囲を-5 から 5に設定
CUIのコマンド詳細#
以下にM2PlotPlusCuiで使用できるコマンド(メソッド)を示す。
実際にスクリプトとしてM2PlotPlusCuiのコマンドを使用する場合は、下記のようになる。
# ECA にデータが入っているとする
import uGao.M2PlotPlusCui as M2P
p=M2P.M2PlotPlusCui(ECA) # 夕顔のGUIを起動してデータを与える
p.ShowData() # プロットウィンドウにプロットする
p.SetLabels("Qa [rlu]","Qb [rlu]") # X軸とY軸のラベルを設定
p.SetIntScale(0.1,500) # 強度の範囲を0.1-500に
p.SetIntLog(True) # 強度をログスケールに
del p
上記の p.XXX のXXXの部分がコマンド(メソッド)となる。以下に主に使用可能なメソッドをリファレンスとして記述する。
メソッド |
説明概要 |
---|---|
ShowData( xkey, ykey, rkey, r_min, r_max) |
読み込ませたデータを2Dプロッタで表示する |
SetIntScale( min_v, max_v ) |
強度のスケールを指定する。パラメータがない場合 Auto Scaleとなる |
SetXScale( min_v, max_v ) |
X軸のスケールを指定する。パラメータがない場合は Auto Scaleとなる |
SetYScale( min_v, max_v ) |
Y軸のスケールを指定する。パラメータがない場合は Auto Scaleとなる |
SetLabels( xlabel, ylabel ) |
X軸およびY軸のラベルを指定する。 |
SetUnits( xunit, yunit ) |
X軸およびY軸の単位(プロッタ上で表示)を指定する |
SetTitles( title, comment ) |
プロッタのタイトル(1行目)とコメント文(2行目)を指定する |
SetSmoothing( isSmooth, windowVal, timesVal ) |
強度のスムージングを行う |
SetWindowSize( width, height ) |
プロットウィンドウ自体のサイズを指定する |
SetIntLog( flag ) |
強度のログスケールを設定する |
SetXLog( flag ) |
X軸方向のログスケールを設定する |
SetYLog( flag ) |
Y軸方向のログスケールを設定する |
SetWindowTitle( title ) |
プロットウィンドウのタイトルを設定する |
SaveAsText( filename, dQ, isIgnoreMask, maskinfo ) |
プロット中のデータをテキストファイルに保存する |
SetSliceMethod( isAve) |
スライスの強度計算が平均値か積算値かを指定する |
Close() |
M2PlotPlusを閉じる(パネル・ウィンドウ共に) |
以下に詳細なリファレンス(引数の説明を含む)を示しておく。
- class M2PlotPlusCui(data=None, closeFlag=True)#
Class to control M2PlotPlus on CUI
- Parameters:
data (ElementContainerArray/Matrix) – Data to be plotted.
closeFlag (bool) – Flag to close M2PlotPlus when the pearent class closes.
- ChangeData(data=None)#
Send data to M2PlotPlus
- Parameters:
data (ElementContainerArray/Matrix) – Data to be plotted.
- ShowData(xkey='-', ykey='-', rkey='-', r_min=0.0, r_max=0.0)#
Plot data with given axes data set defined by keys
- Parameters:
xkey (str) – Key of vector in data for X axis
ykey (str) – Key of vector in data for Y axis
rkey (str) – Key of 3rd vector in data for DetectMap mode
r_min (str) – range of 3rd vector for DetectorMap mode
r_max (str) – range of 3rd vector for DetectorMap mode
- SetLabels(xlabel='-', ylabel='-')#
Set Labels for axes
- Parameters:
xlabel (str) – Label of X-axis
ylabel (str) – Label of Y-axis
- SetUnits(xunit='-', yunit='-')#
Set Units for axes
- Parameters:
xunit (str) – Unit for X-axis
yunit (str) – Unit for Y-axis
- SetTitles(title='-', comment='-')#
Set Titles
- Parameters:
title (str) – Title for 2d plotting
comment (str) – Comments for 2d plotting
- SetSmoothing(isSmooth=False, windowVal=1, timesVal=1)#
Set Smoothiing
- Parameters:
isSmooth (bool) – Affect Smoothing or not
windowVal (int) – Window Size for smoothing
timesVal (int) – The times of smoothing
- SetWindowSize(width, height)#
Set Window Size
- Parameters:
width (int) – window width
height (int) – window height
- SetIntLog(flag=True)#
Set log scale on Intensity
- Parameters:
flag (bool) – True:On, False:Off
- SetXLog(flag=True)#
Set log scale on X axis
- Parameters:
flag (bool) – True:On, False:Off
- SetYLog(flag=True)#
Set log scale on Y axis
- Parameters:
flag (bool) – True:On, False:Off
- SetIntScale(min_v=None, max_v=None)#
Set scale range for Intensity. hen not given both arguments,like SetIntScale(), Auto scale turns on.
- Parameters:
min_v (float) – minumum of range
max_v (float) – maximum of range
- SetXScale(min_v=None, max_v=None)#
Set scale range for X axis. When not given both arguments,like SetXScale(), Auto Xscale turns on.
- Parameters:
min_v (float) – minumum of range
max_v (float) – maximum of range
- SetYScale(min_v=None, max_v=None)#
Set scale range for Y axis. When not given both arguments,like SetYScale(), Auto Yscale turns on.
- Parameters:
min_v (flaot) – minumum of range
max_v (float) – maximum of range
- SetCurrentKey(key):
Set a current key
- Parameters:
key (str) – key
- SetWindowTitle(title)#
Set Window Title
- Parameters:
title (str) – window title
- SaveAsText(filename, dQ=0.0, isIgnoreMask=False, maskinfo=[False, 0.0])#
Save plotted data to a text file
- Parameters:
filename (str) – path to file to be saved
dQ (flaot) – delta Q value for powder data with inelastic scattering data
isIgnoreMask (bool) – Flag to ignore mask values in plotting data on writing text file
maskinfo (list) – [<bool>, <float>] <bool> is flag to use given mask values (<float>) insteed of original ones
- SetSliceMethod(isAve)#
Set Slice method to add data
- Parameters:
isAve (bool) – True:average mode, False:summation mode
- Close()#
Close M2PlotPlus
スライスをコマンドで実行#
M2Plot+で行っているスライス作業をスクリプトなどに埋め込んで実行したい場合は、万葉ライブラリのスライスコマンド( Manyo.MLF.MlfArraySlicer )を利用する。このコマンドはM2Plot+内部でも使用されている汎用的なものである。
以下に2次元データ(ElementContainerArray)をスライスし、結果をMPlotで表示するスクリプトの例を示す。
# ECAにM2Plot+で表示できるデータが入っているとする
# MlfArraySlicerによるスライス手順の概要
# (1)スライスしたい軸と領域を指定
# (2)指定領域をどちらの軸に積分(射影)するかを指定しスライスデータを作成
# データ内のどの数列をスライス時の横軸と縦軸にするか決めるためのXkeyとYkeyを指定する
# これらはM2Plot+のメインパネルの"Plot Data Area"(一番上)のプルダウンメニューの文字列と同じ
Xkey = "Qx"
Ykey = "Qy"
# スライス対象領域
x_min = -0.5
x_max = 0.5
y_min = -0.02
y_max = 0.02
# スライス強度を平均するか積算するか
isAve = True
# スライスコマンドの準備(データと軸の指定も)
import Manyo.MLF as mm
ss = mm.MlfArraySlicer(ECA)
ss.SetAxes(Xkey, Ykey)
# スライス範囲を指定
ss.ClearClipRegion()
ss.SetClipRegion(x_min, y_min, x_max, y_max)
# X軸に沿ってスライス(Y軸方向は積分)
# 戻り値はElementContainerArray(複数の領域を指定できるため)
ret = ss.CutAlongX(isAve)
# Y軸に沿ってスライス(X軸方向は積分)する場合(上で指定したスライス対象領域に注意)
# ret = ss.CutAlongY(isAve)
# 最初の範囲のスライスを取り出す(範囲は複数指定できるため)
EC_alongX = ret.Put(0)
# スライスデータをMPlotで表示
import uGao.MPlot as mp
p1 = mp.MPlot(EC_alongX)
ElementContainerヘッダ情報#
M2Plot+に与えるデータはElementContainerArrayとElementContainerMatrixが可能であるが、M2Plot+はこれらのデータのヘッダに書き込まれた情報に応じて、ある程度2Dプロット表示を制御(自動化)できる。
データタイプ |
キー |
タイプ |
目的 |
---|---|---|---|
ElementContainerMatrix and ElementContainerArray |
M2PP_X_KEY |
string |
Plot Data AreaにてX AxisのKeyとして与える文字列 |
M2PP_Y_KEY |
string |
Plot Data AreaにてY AxisのKeyとして与える文字列 |
|
M2PP_RNG_KEY |
string |
Plot Data AreaにてIntensityのKeyとして与える文字列 |
|
XLABEL |
string |
Plot Data AreaにてX AxisのLabelとして与える文字列 |
|
YLABEL |
string |
Plot Data AreaにてY AxisのLabelとして与える文字列 |
|
Xunit |
string |
Plot Data AreaにてX AxisのUnitとして与える文字列 |
|
Yunit |
string |
Plot Data AreaにてY AxisのUnitとして与える文字列 |
|
ElementContainerArray |
XRANGE |
vector<Double> |
2DプロットにてX axisの値として利用される範囲(実数) |