3-D Visualization | ![]() ![]() |
カラーマップ
各MATLABフィギュアウインドウは、それに関連したカラーマップをもっています。カラーマップは、単に3列の行列で、その長さは、定義するカラーの数と等しいものです。行列の各行は、0から1の範囲の3つの値を使って、固有のカラーを定義します。これらの値は、RGB要素(赤、緑、青のビデオ要素の強度)を定義します。
関数colormap
は、引数を設定しない場合、カレントフィギュアのカラーマップを出力します。
たとえば、MATLABのデフォルトのカラーマップは、64個のカラーをもっていて、57番目が赤です。
cm = colormap; cm(57,:) ans = 1 0 0
つぎのテーブルは、代表的なRGBカラーの定義を示しています。
赤 |
緑 |
青 |
カラー |
0 |
0 |
0 |
黒 |
1 |
1 |
1 |
白 |
1 |
0 |
0 |
赤 |
0 |
1 |
0 |
緑 |
0 |
0 |
1 |
青 |
1 |
1 |
0 |
黄 |
1 |
0 |
1 |
マゼンダ |
0 |
1 |
1 |
シアン |
0.5 |
0.5 |
0.5 |
グレー |
0.5 |
0 |
0 |
ダークレッド |
1 |
0.62 |
0.40 |
銅色 |
0.49 |
1 |
0.83 |
アクアマリン |
ユーザは、MATLAB配列演算を使って、カラーマップを作成でき、または、利用可能なマップを作成するいくつかの関数を使うこともできます。たとえば、hsv
,
hot
, cool
, summer
, gray
を使うことができます。各関数は、結果のマップの中の行の数を指定するためのオプションのパラメータをもつことができます。
hot(m)
は、m行3列の行列の行が、マップのRGB強度を指定するもので、黒から、赤、橙、黄、白に変化します。
カラーマップ長を設定しない場合、MATLABは、カレントのカラーマップと同じ長さのカラーマップを作成します。デフォルトのカラーマップは、jet(64)
です。
複数のフィギュアウインドウの個々について、長いカラーマップ(> 64 カラー)を使う場合は、アクティブなフォーカスがウインドウ間を移動するように、種々のカラールックアップテーブルにスワップする必要があります。MATLABでのカラーの管理法に関する詳細は、 MATLABでのカラーの使い方のコントロール を参照してください。
カラーマップの表示
関数colorbar
は、カレントのカラーマップを、フィギュアの中に、垂直、または、水平に表示します。たとえば、ステートメント
[x,y] = meshgrid([-2:.2:2]); Z = x.*exp(-x.^2-y.^2); surf(x,y,Z,gradient(Z)) colorbar
は、サーフェスプロットとカラーマップに対応するカラーの垂直ストリップを作成します。
カラーマップは、データ値を軸ラベルをもつカラーにどのようにマップするかを示すものです。
![]() |
メッシュとサーフェスプロットのカラーリング | インデックス付きカラー - 直接やスケーリングされたカラーマッピング | ![]() |