| MATLAB Function Reference | ![]() |
表示
caxis([cmin cmax]) caxis auto caxis manual caxis(caxis) v = caxis
詳細
caxisは、データ値からカラーマップへの写像を制御します。インデックス付きのCDataとCdataMappingが、scaledに設定されているsurfaces, patches, imagesに影響します。トゥルーカラーのCDataや、CDataMappingがdirectに設定されているSurface, Patch, Imageには影響しません。
caxis([cmin cmax])
は、指定した最小値と最大値で色の範囲を設定します。cmin以下のデータ値やcmax以上のデータ値は、それぞれcminとcmaxに写像されます。cminとcmax間の値は、カレントのカラーマップに線形に写像されます。
caxis auto
では、MATLABは自動的にデータの最大値と最小値を使って、カラーの範囲を計算します。これは、MATLABのデフォルトの動作です。Infに設定された色の値が最大で、-Infに設定された値が最小です。NaNに設定された色の値をもつ面またはエッジは描画されません。
caxis manual と caxis(caxis)
は、カレントの範囲にカラー軸のスケーリングを固定します。holdがonのとき、後に続くプロットは同じ範囲を使います。
v = caxis
は、現在使われている[cmin cmax] を含む2要素の行ベクトルを出力します。
注意
caxisは、AxesグラフィックスオブジェクトのCLimとCLimModeプロパティを変更します。
カラー軸のスケーリング法
インデックス付きのCDataやCDataMappingがscaledに設定されているSurface, Patch, Imageグラフィックスオブジェクトは、描画する度にCDataの値をFigureのカラーマップ内の色に割り当てます。cmin以下のCDataの値は、カラーマップ内の最初の色の値に割り当て、cmax以上のCDataの値は、カラーマップ内の最後の色に割り当てます。MATLABは、カラーマップ内の値(長さがmで、行のインデックスが下記のindexで参照される)を割り当てるために、中間の値(下記のCで参照される)に対して、つぎの線形変換を行います。
index= fix((C-cmin)/(cmax-cmin)*m)+1
例題
球の(X,Y,Z)データを作成し、Surfaceとしてデータを表示します。
[X,Y,Z] = sphere; C = Z; surf(X,Y,Z,C)
Cの値の範囲は[-1 1]です。-1に近いCの値は、カラーマップの最小値が割り当てられます。+1に近いCの値は、カラーマップの最大値が割り当てられます。
caxis([-1 0])
カラーテーブルの下半分のみを使うためには、つぎのように入力します。
caxis([-1 3])
(cminとCDataの範囲を2回加えた値と等しいcmaxを指定して)CDataの最小値をカラーマップの一番下に割り当て、最大値をカラーマップの中央に割り当てます。
caxis auto
は、カラー軸のスケーリングを自動的に範囲を設定するようにリセットし、Surface内ですべての色を見ることができます。この場合、
caxis
[-1 1]
スケーリングされたカラーデータをもつイメージを使用するときに、カラーの軸の調整が役立ちます。たとえば、マサチューセッツ州のCode岬のイメージデータとカラーマップをロードします。
load cape
このコマンドは、イメージデータXとイメージのカラーマップmapを、ワークスペースにロードします。CDataMappingがscaledに設定されているイメージを表示し、イメージのカラーマップをインストールします。
image(X,'CDataMapping','scaled') colormap(map)
MATLABは、カラーの範囲がイメージデータの領域全体になるように設定します。これは、1から192です。
caxis ans = 1 192
海の青色は、カラーマップ内の最初の色で、最小のデータ値(1)に割り当てられています。カラーの最小値の範囲を変更することによって、海の水位を変更できます。たとえば、つぎのようになります。

参考
axes, axis, colormap, get, mesh, pcolor, set, surf
Axes グラフィックオブジェクトの CLim and CLimMode プロパティ
フィギュアグラフィックオブジェクトの Colormap プロパティ
| catch | cd | ![]() |