========================== 夕顔1次元可視化MPlot ========================== :著者: 稲村 泰弘 :最終更新日: Mar. 1st, 2021 概要 ======= 空蟬環境での1次元データ可視化機能である夕顔のMPlot (uGao.MPlot)は、万葉ライブラリのヒストグラム用コンテナ(データの入れ物)であるElementContainerに収められたヒストグラムデータを表示する機能を持つPythonのモジュールである。 起動方法 ===================== 基本的に *SequenceEditor* や各種アプリケーションから半自動的に起動される機会が多いはずである。 他方、コマンドラインからの使用も想定しているため、フィッティングを除くほぼ全機能がターミナル(コマンドプロンプト等)の上から使用できる。 ------------------------------- コマンドラインからの起動方法 ------------------------------- 以下のようにPythonコマンドプロンプトでMPlotモジュールを読み込む。 :: >>> import uGao.MPlot as mp ここでは、uGao.MPlotというモジュールを読み込むが、扱うには長いので、mpという代用名(エイリアスみたいなもの)を付けている。そのまま続けて :: >>> p = mp.MPlot() で起動する。また、一つのヒストグラムデータ(ElementContainer)がある場合、以下のように記述すると起動時にプロットされる。 :: >>> p = mp.MPlot( ec0 ) 詳細はCUIインターフェースと機能を参照のこと。 終了方法 ============ メインウィンドウのCloseボタンを押す。 基本的な使い方 ================ 1. 起動 起動すると下記のようなメインウィンドウが起動する。 .. figure:: media/mplot_main_display_raw.png :align: center :scale: 40 % MPlot main window 2. プロット軸の範囲変更 プロット軸の範囲を変更したい場合は、プロット軸もしくは軸の目盛の値の近傍をダブルクリックし、 *Graph Parameter* ダイアログを出して変更する。 このダイアログの機能の詳細は :ref:`各種設定ダイアログの詳細 ` から :ref:`Graph Parameter ダイアログ ` を参照のこと。 .. figure:: media/mplot_dialogex_graph_parameter_raw.png :align: center :scale: 40 % Graph Parameter dialog 3. スタイル変更 プロットされたデータの線幅、色、マーカーなどのスタイル変更を行うには、プロットの枠内をダブルクリックして出現する *Plotting Trace* ダイアログから変更したいデータを選択し *Plot Patern* ボタンを押すことでスタイルを変更するダイアログを出すことができる。 それぞれのダイアログの詳細は :ref:`各種設定ダイアログの詳細 ` から、 :ref:`Plotting Traces ダイアログ ` や、 :ref:`Plot Pattern ダイアログ ` をそれぞれ参照のこと。 .. figure:: media/mplot_dialogex_plotting_traces_raw.png :align: center :scale: 40 % Plot traces dialog .. figure:: media/mplot_dialogex_plot_pattern_raw.png :align: center :scale: 40 % Plot pattern dialog 4. プロット画面保存 プロッタ上部のツールバーから |mplot_toolbar_save| ボタンを押すと、プロット画面をPNGファイルとして保存することができる。 5. フィッティング *Process* メニューから *Fitting* を選択するとダイアログが出るのでフィッティングを行うことができる。 詳細は :ref:`フィッテイング機能について ` を参照のこと。 .. figure:: media/MPlot_FittingPanel.png :align: center :scale: 40 % Dialog for curve fitting functions of MPlot 6. データ保存・読み込み *File* メニューから *Save As ...* を選んでデータをテキストで保存したり、保存したデータを読み込んでプロットすることも可能である。詳細は :ref:`テキストの読み込み書き出しについて ` を参照のこと。 7. その他 各種ダイアログやツールバーを使用することで、例えば罫線(グリッドライン)を出してその色や太さを変更する、オーバープロットではなく個別にデータをプロットする、データポイントのX軸、Y軸の値をプロットエリアに表示する、などを行うことができる。 詳細は :ref:`各種設定ダイアログの詳細 ` や :ref:`ツールバー ` を参照のこと。 機能の詳細 ==================================== MPlotのGUI機能を以下に示す。 -------------------------- メイン画面上の表示情報 -------------------------- 下図に、メイン画面上に表示されている情報を示す。 .. figure:: media/mplot_main_display.png :align: center :scale: 40 % GUI Parts on MPlot main plot window **Title** このプロットの表題を示す。起動時に自動的に与えられ、"Fast Plot(XX)"(XXは起動された順番を示す数字)と表示される。 **Tool bar** プロットに対する機能がアイコンで並ぶ。詳細は次項。 **Plot Area** メインプロット画面。プロットは重ね書き(Over-ray)、分割表示などができ、データごとに線種や色、マーカーも選択できる。またプロッタ上にその位置の座標(ピークラベル)を表示することもできる。詳細は次項。 **Pages** 指定した個数以上のプロットを表示する場合、複数のページを用意する。現在のプロッタのページと全ページ数を表示する。 **Paging** ページ間の移動に用いる。 **Pointer Position** マウスポインタの示す位置の座標を表示する。 メイン画面上のそれぞれの機能の詳細を以下に示す(リンク)。 .. toctree:: :maxdepth: 2 MPlotManual2 ------------------- メニュー処理機能 ------------------- メニューについて述べる。 File メニュー ------------------- .. figure:: media/MPlot_Menu_Files.png :align: center :scale: 100 % Files menu on MPlot main plot window Open... テキストファイルを読み込む Save as... データをテキストファイルで書き出す。フォーマットは離散型データ(X,Intensity,Errが一対一対応) Save histogram as ... データをテキストファイルで書き出す。フォーマットはヒストグラム型データ(Xの個数がIntensity,Errorより1つ多い) Print (使用不可) Exit プロッタ画面を閉じる。 Display メニュー --------------------------- .. figure:: media/MPlot_Menu_Display.png :align: center :scale: 100 % Display menu on MPlot main plot window Show Plotting Data *Plotting Data* (データ一覧)ダイアログを表示。 メインプロッタ画面上をダブルクリックすることで現れる。プロットされているデータの選手や色を変更するダイアログ( *Plot Pattern..* ボタン)の呼び出し、プロットごとのラベルを変更などを行うことができる。 更にここから **Set Plotting Style** (プロット設定)ダイアログを呼び出して、それぞれのデータのプロット設定(線種や色、線の太さ)、及びエラーバーの有無の設定を行うことができる。 Set Graph Parameter *Set Parameter* (グラフ表示条件設定)ダイアログを表示。 座標部分をダブルクリックすることで現れる。プロットするデータ領域やLog表示を指定したり、1ページに表示する方法(重ね書き、分割表示)の指定、フォントの変更などを行うことができる。 Set Graph Title *Titles Setting* (タイトル設定)ダイアログを表示。 メイン画面上部のタイトル部をダブルクリックすることで呼び出される。メインタイトルは、デフォルトでは ページ最初のデータのRun No. を表示。サブタイトルは、デフォルトで空白。ただし、ElementContainerのヘッダ情報により自動的に変更される。 Set Scale Label *Scale Labels Setting* (軸ラベル設定)ダイアログを表示。 メイン画面のX軸ラベル部分、およびY軸ラベル部分をダブルクリックすることで呼び出される。X軸ラベルは、デフォルトはX[sss](sssはデータから取得した単位)。ページ最初のデータによる。Y軸ラベルはデフォルトはY[sss]でX軸ラベルと同様である。ただし、ElementContainerのヘッダ情報により自動的に変更される。 Set XY Grid style *Grid Style Setting* (グリッドライン設定)ダイアログを表示。 Set Ticks style *Ticks Style Setting* (Ticks設定)ダイアログを表示。 Process メニュー -------------------------- .. figure:: media/MPlot_Menu_Process.png :align: center :scale: 100 % Process menu on MPlot main plot window Fitting *Fitting* (フィティング)ダイアログを表示。 現在表示されているデータに対して、簡易的なフィッティングを行うことができる。基本の関数は、1) 線形, 2) 線形+ガウス関数, 3) 線形+ローレンツ関数, 4) 線形+ガウス関数+ローレンツ関数, 5) 線形+ガウス関数×2。(詳細は別項にて) .. _MPlotManDialogs: 各種設定ダイアログの詳細 ---------------------------------- 以下に各種設定ダイアログの詳細を示す。 .. toctree:: :maxdepth: 2 MPlotManual3 各種設定ダイアログの呼び出し ---------------------------------- メイン画面上の幾つかの場所をダブルクリックすることで、その場所に関連するパラメータなどを変更するダイアログが開かれる。下図にその場所と開くダイアログを示す。なお、これらのダイアログの幾つかはメニューから呼び出すこともできるので、それも図中に示している。 .. figure:: media/mplot_clickable_area1.png :align: center :scale: 40 % Clickable area on MPlot windows and dialogs (1) .. figure:: media/mplot_clickable_area2.png :align: center :scale: 40 % Clickable area on MPlot windows and dialogs (2) .. _MPlotManReadWriteText: -------------------------------------- テキストの読み込み、書き出しについて -------------------------------------- Fileメニューからテキストファイルを読み込んでプロットする、もしくはプロットされているデータをテキストファイルに書き出すことができる。 .. toctree:: :maxdepth: 2 MPlotManual4 .. _MPlotManProcessFitting: -------------------------------------- フィッティング機能について -------------------------------------- Processメニューから *Fitting* を選ぶことで、現在表示しているデータに対して簡易的なフィッティングを行うことができる。また自作関数をフィティング関数として追加することも可能である。 .. toctree:: :maxdepth: 2 MPlotManual6 CUIインターフェースと機能 =========================== コマンドラインから起動した場合、プロッタの実体(インスタンス)を利用してプロッタを制御することが可能である。プロットするデータは、万葉ライブラリのElementContainerである。 .. toctree:: :maxdepth: 2 MPlotManual5 .. |mplot_mainplot_ex1| image:: media/mplot_mainplot_ex1.png :width: 400px .. |mplot_mainplot_ex2| image:: media/mplot_mainplot_ex2.png :width: 400px .. |mplot_mainplot_ex3| image:: media/mplot_mainplot_ex3.png :width: 400px .. |mplot_toolbar_all| image:: media/mplot_toolbar_all.png :width: 400px .. |mplot_toolbar_home| image:: media/mplot_toolbar_home.png :height: 32px :width: 32px .. |mplot_toolbar_prev| image:: media/mplot_toolbar_prev.png :height: 32px :width: 32px .. |mplot_toolbar_next| image:: media/mplot_toolbar_next.png :height: 32px :width: 32px .. |mplot_toolbar_shift| image:: media/mplot_toolbar_shift.png :height: 32px :width: 32px .. |mplot_toolbar_resize| image:: media/mplot_toolbar_resize.png :height: 32px :width: 32px .. |mplot_toolbar_config_subplot| image:: media/mplot_toolbar_config_subplot.png :height: 32px :width: 32px .. |mplot_configure_subplots| image:: media/mplot_configure_subplots.png :width: 400px .. |mplot_toolbar_save| image:: media/mplot_toolbar_save_fig.png :height: 32px :width: 32px .. |mplot_toolbar_peaklabel| image:: media/mplot_toolbar_peaklabel.png :height: 32px :width: 32px .. |mplot_toolbar_peaklabel_moveleft| image:: media/mplot_toolbar_peaklabel_moveleft.png :height: 32px :width: 32px .. |mplot_toolbar_peaklabel_moveright| image:: media/mplot_toolbar_peaklabel_moveright.png :height: 32px :width: 32px .. |mplot_toolbar_peaklabel_point| image:: media/mplot_toolbar_peaklabel_point.png :height: 32px :width: 32px .. |mplot_toolbar_peaklabel_xy| image:: media/mplot_toolbar_peaklabel_xy.png :height: 32px :width: 32px .. |mplot_toolbar_peaklabel_select| image:: media/mplot_toolbar_peaklabel_select.png :width: 200px .. |mplot_toolbar_peaklabel_move_fix| image:: media/mplot_toolbar_peaklabel_move_fix.png :width: 500px .. |mplot_paging| image:: media/mplot_paging.png :width: 480px .. |mplot_position| image:: media/mplot_position.png :width: 300px .. |mplot_header_info_popup| image:: media/mplot_header_info_popup.png :width: 400px .. |mplot_menu| image:: media/mplot_menu.png :width: 540px .. |mplot_dialogex_plotting_traces| image:: media/mplot_dialogex_plotting_traces.png :width: 500px .. |mplot_dialogex_plot_pattern| image:: media/mplot_dialogex_plot_pattern.png :width: 500px .. |mplot_dialogex_graph_parameter| image:: media/mplot_dialogex_graph_parameter.png :width: 500px