MATLAB Function Reference    
caxis

カラー軸のスケーリング

表示

詳細

caxisは、データ値からカラーマップへの写像を制御します。インデックス付きのCDataCdataMappingが、scaledに設定されているsurfaces, patches, imagesに影響します。トゥルーカラーのCDataや、CDataMappingdirectに設定されているSurface, Patch, Imageには影響しません。

caxis([cmin cmax]) は、指定した最小値と最大値で色の範囲を設定します。cmin以下のデータ値やcmax以上のデータ値は、それぞれcmincmaxに写像されます。cmincmax間の値は、カレントのカラーマップに線形に写像されます。

caxis auto では、MATLABは自動的にデータの最大値と最小値を使って、カラーの範囲を計算します。これは、MATLABのデフォルトの動作です。Infに設定された色の値が最大で、-Infに設定された値が最小です。NaNに設定された色の値をもつ面またはエッジは描画されません。

caxis manualcaxis(caxis) は、カレントの範囲にカラー軸のスケーリングを固定します。holdonのとき、後に続くプロットは同じ範囲を使います。

v = caxis は、現在使われている[cmin cmax] を含む2要素の行ベクトルを出力します。

注意

caxisは、AxesグラフィックスオブジェクトのCLimCLimModeプロパティを変更します。

カラー軸のスケーリング法

インデックス付きのCDataやCDataMappingがscaledに設定されているSurface, Patch, Imageグラフィックスオブジェクトは、描画する度にCDataの値をFigureのカラーマップ内の色に割り当てます。cmin以下のCDataの値は、カラーマップ内の最初の色の値に割り当て、cmax以上のCDataの値は、カラーマップ内の最後の色に割り当てます。MATLABは、カラーマップ内の値(長さがmで、行のインデックスが下記のindexで参照される)を割り当てるために、中間の値(下記のCで参照される)に対して、つぎの線形変換を行います。

例題

球の(X,Y,Z)データを作成し、Surfaceとしてデータを表示します。

Cの値の範囲は[-1 1]です。-1に近いCの値は、カラーマップの最小値が割り当てられます。+1に近いCの値は、カラーマップの最大値が割り当てられます。

球の上半分をカラーテーブルの最も高い値に写像します。

カラーテーブルの下半分のみを使うためには、つぎのように入力します。

(cminとCDataの範囲を2回加えた値と等しいcmaxを指定して)CDataの最小値をカラーマップの一番下に割り当て、最大値をカラーマップの中央に割り当てます。

コマンド

は、カラー軸のスケーリングを自動的に範囲を設定するようにリセットし、Surface内ですべての色を見ることができます。この場合、

と入力するとつぎのように出力します。

スケーリングされたカラーデータをもつイメージを使用するときに、カラーの軸の調整が役立ちます。たとえば、マサチューセッツ州のCode岬のイメージデータとカラーマップをロードします。

このコマンドは、イメージデータXとイメージのカラーマップmapを、ワークスペースにロードします。CDataMappingscaledに設定されているイメージを表示し、イメージのカラーマップをインストールします。

MATLABは、カラーの範囲がイメージデータの領域全体になるように設定します。これは、1から192です。

海の青色は、カラーマップ内の最初の色で、最小のデータ値(1)に割り当てられています。カラーの最小値の範囲を変更することによって、海の水位を変更できます。たとえば、つぎのようになります。

参考

axes, axis, colormap, get, mesh, pcolor, set, surf

Axes グラフィックオブジェクトの CLim and CLimMode プロパティ

フィギュアグラフィックオブジェクトの Colormap プロパティ

Axes Color Limits


 catch cd