howto/Igor

一行メモ

  • Make/N=3101/D/O time_fs とすると、ポイント数を変更できるようだ?(/Oは上書きオプション、time_fsはtime_auから:=で計算されているが、ポイント数が大きく変更した場合でも、自動で計算されるようだ。 -- 2015-03-23 (月) 16:56:54
  • レイアウトにあるグラフを複数個、マウスでコピーして、Wordに貼り付けることができるようだ。 -- 2015-09-07 (月) 12:11:19
  • データフォルダ名に - (マイナス記号)は使わない用がよい。コピーが出来なかった。 -- 2016-09-16 (金) 12:18:05
  • グラフをずらして描く:グラフ→トレースアピアランスを修正→オフセットをチェックし、ずらす量を入れる。 -- 2018-10-20 (土) 18:48:23
  • データフォルダを変更する:メニューの データ->Data Browser で操作(そして下記の ReplaceWave allinCDF をする)。 -- 2024-05-16 (木) 13:27:45 New

データ

空白で区切られたデータをウェーブとして読み込む

(こちらを推奨)
データ→ウェブをロード→一般テキストをロード。ここでファイルを選択→実行
なお、#ではじまる行はコメントではなく無視される?

or

(勧めない)
データ→ウェブをロード→ウェブをロード。ここでファイルを選択し、区切りテキストを選ぶ → 詳細ボタン。ここで制御文字としてスペースにチェック→戻る→実行

(補足)上書きでロードするとき、ポイント数が異なる場合:ポイント数が少なくても多くても読込はOK。なお、計算でウェブを作っている(:=) ときは、少ないポイント数の倍は途中まで正しく計算する(エラーは出るが)。多い場合にどうなるかは試していない。

ロードしたウェーブを加工してグラフを描きたい。

データメニューで、一度、ウェーブを複製する。その後、 コマンドウインドウで、

   'sqrt_aaftcf_05_10' = sqrt( 'ave_ave_ftcorrfunc_05_10' )

などとしてウェーブを作ってグラフを描く。= の代わりに、:= を使うと、元データの変更が反映されるらしい。

ウェーブを作成して、それを他のウェーブの和としたい。

コマンドウインドウで、

   Make/N=10/D sum_of_fene

などとして(するらしい)、ウェーブ (sum_of_fene) を作る。N=10の 10は行数。 (or メニューの データ→ウェーブを作成 からでも作れる。) 次に、コマンドウインドウで、

   sum_of_fene:=fene03+fene04+fene05+fene06+fene07+fene08+fene09+fene10+fene11+fene12

とする。なお、:= を使っているので、元データの変更が反映される。 2乗は、val^2でできる。

ウェーブを作成して、それを他のウェーブの和としたい (2)。

文字列のウェーブ atomName, atomNameがあり、数字のウェーブ resSequenceがあったとする。 これを連結した文字列のウェーブ atomを作りたい時には、まず ウェーブatomを作る。次に、

   atom:=atomName+" "+atomName+num2str(resSequence)

とする。

ウェーブを複製して、ウェーブ最初の点(0番目の値)との比を作りたい

Duplicate Kine normKine  #ウェーブKineをnormKineの名前で複製
normKine:=Kine/Kine(0)   #normKineの値を一律に1/Kine(0)倍にする。Kine(0)はウェーブKineの0点目の値

欠けている数値データの表現。

NaN らしい。(c.f. 無限大は Inf らしい。)

データをスムージングする。

解析→スムース、その後、例えば ボックス (その点を中心として、区間で平均する) を選び、 繰返し (データの初めの部分、終りの部分について、区間に無いデータはその点の値を 利用する) を選び、 21 (入力する値は奇数。例えば、両側 10点+その1点=21で、平均する) を入力して、 実行する。(元データは上書きされるので、残したい場合、元データを複製しておく。)

データフォルダをコピーする

カレントデータフォルダをrootにしておいて、root:srcをdes名でrootにコピーするには次をする。 root以外も可である。

   DuplicateDataFolder  src, des

ウェーブをコピーする

   Duplicate  src, des

ウェーブのデータをすべてゼロにする

   ウェーブ名=0

グラフ

グリッドや背景の色を変える。

何もない場所で隅を右クリック→カラー→グラフ背景 など

タグを付ける(プロットに対して、ラベル等を加える(グラフの拡大縮小などに追従する))

グラフウィンドウで、何もない隅を右クリック→注釈→タグ

or

グラフメニュー→注釈を追加→タグを選択し、必要な項目を設定する。 (フォント、サイズ、プロットからの距離、 ウェーブ名を加えるか否か、オフスクリーンでタグを隠すかどうか、x座標表示、などなど) →実行ボタン →生成したタグ上で、Alt(又はOption)+ドラッグし、他のプロットの部分でリリースすると、タグが移動する。 なお、既存のタグを、Double Clickして出るメニューから、タグの複製が可能。

捕捉. 注釈で 例えば、

   \{"%s %s", atom(TagVal(0)), res(TagVal(0))} <\OX>

とすれば、X軸上のPointに対する他のウェーブの情報を表示できる。 ここで、x軸をPointとして、あるウェーブのグラフを描いているとする。この時、 atom及びresウェーブがあり、TagVal(0) ( 又は \OX ) でポイントを得てそれに対する情報を 出している。

グラフが普通の二次元の場合、

   \F'Arial'\Z10\{"%.2f", eV(TagVal(0))}

だと、パスの指定 root:hoge:hoge:eV(TagVal(0))が出来らしいので、これよりも

   \F'Arial'\Z10\{"%.2f", TagVal(1)}

がよい。TagValの引数は、0:ポイント番号、1:x座標、2:y座標 を意味する。

また、複数のデータフォルダを利用したタグで、そのタグがはみ出るような場合は、ひとつのグラフを 使いまわして表示させるようなことは無理そうだ(X,Yオフセットが大きいとあつかいずらい)。

例2、

   \{ "%s %d", residue(TagVal(0)) , sequence(TagVal(0)) } 

で、"residue名 sequnce番号"を表示する。

例3、

   \{ "%s", GetWavesDataFolder(TagWaveRef(),0) } 

で、"ウェーブのパス名"を表示する。 引数の0は、これ以外に 0~4が使える。

他、

   \ONは、ウェーブ名になる。

タグの例

\F'Arial'\Z10\{ "%.2f", TagVal(1) }
\F'Arial'\Z10\{ "%.2f", eV(TagVal(0)) }
Tag/C/N=text1/F=0 intensity, 0,"\\{\"%.2f\", TagVal(1) }"
Tag/C/N=text0/F=0/A=LT/X=6.67/Y=-861.93/TL={dash=1}/P=1 intensity, 148, "\\F'Arial'\\Z10\\{\"%.2f\", TagVal(1) }"

3Dのグラフ (Surface Plot) を描く。

メニューのウィンドウ→新規→Surface Plotを選ぶ。

(注) DepthCueは、チェックしないと、奥行きの表示がインチキになるようだ。

Scatter(点の分布)、Path(点を線で結ぶ)において、時系列に色を変化させるには以下のようにする。

   3次のウェーブを作成し、RBG値をセットして、これを利用する(線の色をこれで設定できる)。
   Make/N=(NumPnts(istep),3) tripletwave;
   tripletwave[][0]=Rcolor[p];tripletwave[][1]=Gcolor[p];tripletwave[][2]=Bcolor[p]

5次のウェーブを作成し、マーカーの種類、マーカーの大きさ、RBG値をセットして、これを利用する(点の色をこれで設定できる)。

   Make/N=(NumPnts(istep),5) makerwave;
   makerwave[][0]=19;      # 1 (+) or 19 (●) or 0, 2 など
   makerwave[][1]=3;       # 0は非表示となる
   makerwave[][2]=Rcolor[p];makerwave[][3]=Gcolor[p];makerwave[][4]=Bcolor[p]

(上の例で、istepは描く点の数と同等のサイズのウェーブ)

RBG値のウェーブ Rcolor, Gcolor, Bcolor は、予め作成して読み込んでおく。例えば rainbowRGB.c で作成する。

等高線プロットを描く。

2次元の行列のデータを読み込むには、"ウェーブをロード"のときに、 "列を配列形式でロードする"をチェックする。後は適当にメニューで操作するとよい。

ReplaceWave allinCDF

データフォルダをいくつか利用してグラフを描いている時に便利。あるデータフォルダ内のウェーブでグラフを描いたとする。フォルダを移動したのち、このコマンドを実行すると、現在のデータフォルダ内のウェーブを利用して、グラフを再描画します (同じ名前のウェーブがなかった時には変更されない)。

 ReplaceWave allinCDF  #とする

グラフのY軸の位置を複数のグラフでそろえたい(Y軸の目盛りの数値ためグラフ毎に位置が変わるので)

左側の余白をダブルクリック→余白→自動を3.00とかにする(全てのグラフで)。

レイアウトのグラフを並べる

レイアウト中のグラフを複数選択しておく→レイアウトのメニュー→整列→左詰、などとする。

グラフウインドウを、A4一枚にプリントアウトする

?グラフの余白をダブルクリック。幅モードを固定の26cm(26.5cm?)、 縦モードを固定の18cm(18.5cm?)にする(但し、LP-8400PS3)。 LP-8300C (color laser)は、、、26.1<=value<26.5cm、18.1<=value<18.5 cm。 25.5<=value

グラフウインドウのサイズを固定する

グラフの余白をダブルクリック→幅モードと高さモードを絶対値にすると、固定できる(拡大縮小の禁止)。 このままのサイズでプリントアウトもできる。

自由軸の移動

自由軸を Alt+マウスドラッグすることで、自由軸を動かすとともに横軸も調整できる。

自由軸を 単にマウスドラッグすると、自由軸だけが移動する。

(自由軸:本来の縦軸以外に出したもうひとつの縦軸)

レイアウト

グラフィックス保存

グラフィックスを保存→拡張メタファイル(画像ファイルx8ではイマイチ)で、パスはダイアログとし保存。

グラフ位置の正確な指定

レイアウトのグラフをクリックすると、グラフ位置を数字で直接指定できる。

テーブル

現在、項目なし

その他

ウィンドウ再構成マクロとして保存したマクロを削除する

メニューから、ウィンドウ→プロシージャウィンドウを開き、対象となるマクロ名を探しマクロの定義部分を削除する。


トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2024-05-16 (木) 13:28:22 (3d)