可視化手法    

インデックス付きカラーデータ

MATLABは、インデックス付きカラーデータを、カラーマップに写像する前にスケーリングした値として、または直接カラーマップに対するインデックスとして解釈します。解釈は、CDataMapping プロパティを設定することによって制御します。デフォルトでは、データのスケーリングを行います。

スケーリングされたカラー

デフォルトでは、MATLABはカラーデータのスケーリングを行い、最小値がカラーマップの最初のカラーに写像され、最大値がカラーマップの最後のカラーに写像され、その間の値がカラーマップ全体にわたるように線形変換します。これによって、データを変更することなく異なるサイズのカラーマップを使用することができ、またカラーマップを変更することなく任意の範囲の値のデータを使用することができます。

たとえば、つぎのpatchには、合計24の(ユニークでない)頂点をもつ8つの三角形面があります。カラーデータは、1から24までの整数ですが、任意の値をとることができます。

変数 c には、カラーデータが含まれます。これは、各列が各面の3つの頂点に対するカラーを指定する3行8列の行列です。

patchの右側のカラーバー(colorbar)は、使用されたカラーマップを示しており、どの色がそれぞれのデータ値に写像されるかを垂直軸で示しています。

caxis コマンドを使って、カラーマップへのカラーデータの写像を変更することができます。このコマンドは、2要素ベクトル [cmin cmax] を使って、どのデータ値をカラーマップの最初と最後に写像するかを指定し、それによってカラーの写像をシフトします。

デフォルトでは、MATLABは、cmin をaxes内のすべてのグラフィックスオブジェクトのカラーデータの最小値に、cmax をその最大値に設定します。しかし、これらの範囲は任意の値の範囲となるように設定することができ、それによってカラーの写像をシフトすることができます。詳細は、カラーの範囲の計算を参照してください。

カラーデータは、整数の連続したリストである必要はなく、座標データと一致する次元をもつ任意の行列でかまいません。たとえば、つぎの通りです。

直接的なカラー

patchの CDataMapping プロパティを off に設定すると、

MATLABは、各カラーデータ値をカラーマップ内の直接のインデックスとして解釈します。つまり、1の値は、最初のカラーに写像され、2は2番目のカラーに写像されるという具合です。

前の例のpatchは、カラーマップの最初の24色のみを使用します。

この例は、整数のカラーデータを使用します。しかし、値が整数でない場合、MATLABはつぎの規則に従って変換します。

スケーリングを行っていないカラーデータは、通常、特定のイメージと関連するカラーマップをもつイメージに対して、より一般的に使用されます。


 MATLABでのカラーデータの解釈法 トゥルーカラーpatch