さて冒頭から問題です。次の等高線(Fig.1)の x=0 での断面図は Fig.2 の a ~ d のどれでしょう?
![]() Fig.1 等高線(Contour Demo.pxp より一部改変) | ![]() Fig.2 断面図(プロファイル) |
お分かりですか?そう、正解は c です。a は x=-2、b は x=-1、d は x=1 での断面図(プロファイル)です。等高線プロットあるいはイメージプロットは非常に情報リッチなグラフです。このようにグラフの断面を見るだけで、いろんな情報が得られます。

Fig.3 正解は c
さてさて、等高線プロットは文字通り「同じ値の点を結んだプロット」ですが、今回は、IGOR Pro で任意の等高線のデータを抽出する方法を紹介しましょう。
▼ 等高線の抽出
IGOR Pro の等高線は、
- Z 値のマトリックス
- X、Y、Z列のマトリックス
- X、Y、Zのウェーブ
という 3 つのデータ形式をサポートしていますが、これらのデータから描かれた等高線のデータ、つまり、結ばれた等値点のデータを、メニュー操作から得る方法は IGOR Pro に用意されてはいません。
しかし、今回紹介するパッケージ「Extract Contours As Waves」を使うと、任意の等高線のデータを取り出すことが可能です。
このパッケージをロードするには、ウィンドウメニュー>プロシージャウィンドウ を開き、冒頭に次の1行を追加してコンパイルします。
#include <Extract Contours As Waves>

Fig.4 プロシージャウィンドウ
コンパイルに成功すると、グラフメニューに
- Extract One Contour Trace
- Extract All Contour Traces
という2つのコマンドが追加されます。機能は文字通りで、1つ目は任意の等高線を抽出するコマンドで、2つ目はデータフォルダを作って、その中に全ての等高線を抽出するコマンドです。
いずれのコマンドにも Display Trace というドロップダウンリストがあり、抽出した等高線データをどのように出力するか設定できます。

Fig.5 Extract One Contour Trace ダイアログ
nowhere は、抽出された等高線データのウェーブが作成されるだけで、どこにも出力されません。in new graph / in new table はそれぞれ新規のグラフウィンドウ、テーブルウィンドウに表示されます。in new table 以降には、エクスペリメントに存在するグラフウィンドウの名称が表示され、その名称のグラフウィンドウに、トレースとして追加されます。
▼ 例えば z=1
冒頭の等高線は、IGOR Pro のサンプルエクスペリメント「Contour Demo.pxp」に含まれているグラフです。このグラフには11 本の等高線が引かれていますが、水色の等高線が z=1 の線です。この等高線を「Extract One Contour Trace」コマンドで抽出してみましょう。

Fig.6 z=1 を抽出してみる。
- 等高線を最前面に表示して、グラフメニュー>Extract One Contour Trace を選択します。
- Contour Trace のリストで 'RealisticData=1' を選択します。
- Display Trace のリストで in new Graph を選択して、続行ボタンをクリックします。

Fig.7 Extract One Contour Trace の設定
以上です。ちょっとグラフを調整すると、Fig.8 のようになり、z=1 のトレースが正しく抽出されていることがわかります。

Fig.8 z=1 を抽出したプロット
▼ まとめ
今回は、等高線を抽出するパッケージ「Extract Contours As Wave」を紹介しました。IGOR Pro の等高線はその等値データをオープンにしてくれませんが、このパッケージを使うと、任意の等高線のデータを取り出すことが可能です。ご活用ください。
なお、冒頭のイメージプロットから断面図(プロファイル)を得る方法も、近いうちにご紹介しようと思います。
井上@技術部でした。




