IGOR Pro で等高線プロットは、等高線(等値線)を描くだけで、線と線の間を塗りつぶすことはできません。等高線の間を塗りつぶすには、イメージプロットを重ねて描画します。イメージプロットは、2次元ウェーブ(Z マトリクス)をその値に応じて塗り分けるモノですので、等高線の線と線の間はグラデーションで塗りつぶされます。

でも、ふつう地形図って、ある高さからある高さは同じ色で塗りつぶされていますよね。今回は、IGOR Pro の等高線の線と線の間を同じ色で塗りつぶす方法をご紹介します。

ig_filled_contour_2.png
同じ色
ig_filled_contour_1.png
グラデーション

▼ [おさらい] 等高線/イメージプロットとデータタイプ

まず、IGOR Pro の等高線プロットとイメージプロットのデータサポートについておさらいします。等高線プロットは、次の3つのデータタイプをサポートしています。

  • 1次元ウェーブ(X,Y,Z の各ウェーブ)
  • 2次元ウェーブ(XYZトリプレット)
  • 2次元ウェーブ(Z マトリクス)

一方、イメージプロットがサポートしているのは、

  • 2次元ウェーブ(Z マトリクス)

だけです。つまり、グラデーションで等高線を塗りつぶす場合にも、2次元ウェーブ(Z マトリクス)を用意する必要があるわけです。


▼ よくあるケース:1次元ウェーブ(X,Y,Z の各ウェーブ)

とはいっても、よくあるデータは1次元ウェーブ(X,Y,Z の各ウェーブ)のケースです。平面座標と測定値の組み合わせは非常にポピュラーなデータセットですね。

IGOR Pro 6.0 以前では、付属のマクロを使って、1次元ウェーブ(X,Y,Z の各ウェーブ)を2次元ウェーブ(Z マトリクス)に変換1) してからイメージプロットを重ねる必要がありました。しかも、塗りつぶす方法はグラデーションだけ。。

しかし、IGOR Pro 6.1 以降では、AppendImageToContour パッケージの登場で、この面倒な手順から解消され、おまけに同じ色で塗りつぶすこともできるようになりました。


早速手順をご紹介しましょう。


1次元ウェーブ(X,Y,Z の各ウェーブ)で描いた等高線プロットを最前面に表示した状態で、グラフメニュー>Packages>Append Image or Fill Between Contours を選択すると、Append Image or Fill Between XYZ Contours というダイアログが表示されます。

ig_filled_contour_3.png


最初のドロップダウンリスト、Flat color between contours? がポイント。

  • Yes:等高線の間を同じ色(=Flat color)で塗りつぶす
  • No:等高線の間をグラデーションで塗りつぶす

同じ色で塗りつぶすには、Yes を選択します。

次に、イメージプロットの縦と横をそれぞれ何分割するのかを、

  • number of rows
  • number of cols

で指定して、続行ボタンをクリックすればOKです。この処理では、「補間」によって2次元ウェーブ(Z マトリクス)を生成しますので、むやみにこの二つの値を大きくすると、滑らかになりますが、計算結果が得られるまでものすごく待つことになりますし、そもそも補間で得られるデータは本当の値ではありませんので、やりすぎには注意が必要です。

ig_filled_contour_4.png
生成されたイメージプロット(同じ色)
ig_filled_contour_5.png
生成されたイメージプロット(グラデーション)


▼ 2次元ウェーブ(Z マトリクス)の場合

等高線を2次元ウェーブ(Z マトリクス)で描いている場合、等高線をグラデーションで塗りつぶすだけなら、そのウェーブをイメージプロットしてプロットに追加すればOKです。

等高線を同じ色で塗りつぶしたい場合には、1次元ウェーブの場合と同様に、AppendImageToContour パッケージを利用します。しかし、2次元ウェーブ(Z マトリクス)の場合には、表示されるウィンドウが少し異なります。

ig_filled_contour_6.png


ウィンドウタイトルが、Append Image or Fill Between Matrix Contours になります。Flat color between contours? は同じですが、縦と横の分割数(number of rows, number of cols)ではなく、interpolation factor を指定します。interpolation factor を2 とすると、塗りつぶすデータは縦横それぞれ2倍のポイントを持つデータになります。前述のように補間処理なので、あまり大きな factor を指定すると、計算が大変なことになります。

なお、等高線を2次元ウェーブ(XYZ トリプレット)で描いている場合は、1次元ウェーブの場合と同じ操作で、等高線を塗りつぶすことが可能です。


▼ まとめ

今回は、等高線プロットの線と線の間を同じ色で塗りつぶす方法をご紹介しました。IGOR Pro の等高線プロットで地形図を 描く場合には、ぜひご利用ください。

井上@技術部でした。

*1 1次元ウェーブ(X,Y,Z の各ウェーブ)や2次元ウェーブ(XYZ トリプレット)から、2次元ウェーブ(Z マトリクス)に変換する手順はこちらの情報を参照してください。

※この記事の内容は執筆者の個人的見解で、ヒューリンクスによる公式情報ではありません。[免責事項]

トラックバック

この記事へのトラックバックURL
http://blog.hulinks.co.jp/cgi/mt/mt-tb.cgi/441
内容に対しての関連性がみられないものは削除する場合があります

コメント一覧

前回の話になりますが
複数の式で構成される微分を含んだままの関数(反応速度式)で、実験値から速度パラメータをフィッティングで推計する方法をぜひ紹介してください。

コメントの投稿

Emailアドレスは表示されません。は必須項目です。
ヒューリンクス取り扱い製品の内容や購入に関するお問い合わせはヒューリンクスサイト連絡先へお願いいたします。投稿前にその他の注意事項もご覧ください。

HULINKS サイトの新着情報