ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

caxis

色軸のスケーリング

構文

caxis([cmin cmax])
caxis auto
caxis manual
caxis(caxis) freeze
v = caxis
caxis(axes_handle,...)

説明

caxis は、データ値からカラーマップへのマッピングを制御します。これは、インデックス付きの CData をもっており、CDataMapping が scaled に設定されている任意の surfacepatche、および image に影響を与えます。しかし、トゥルーカラーの CData をもっているか、CDataMappingdirect に設定されている surface、patche、あるいは image には影響を与えません。

caxis([cmin cmax]) は、色の範囲を指定された最小値と最大値に設定します。cmin より小さいか cmax より大きいデータ値は、それぞれ cmincmax にマッピングされます。cmincmax の間の値は、現在のカラーマップに線形にマッピングされます。

caxis auto では、データの最小値と最大値を使用して、色の範囲を自動的に計算します。これは既定の動作です。Inf に設定された色値は最大の色、-Inf に設定された色値は最小の色にマッピングされます。NaN に設定された色値をもつ面やエッジは描画されません。

caxis manualcaxis(caxis) freeze は、現在の範囲に色軸のスケーリングを固定します。これにより、holdon の場合、後に続くプロットは同じ範囲を使用できます。

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

caxis(axes_handle,...) は、現在の軸に代えて axes_handle で指定される軸を使用します。

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

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

[X,Y,Z] = sphere;
C = Z;
surf(X,Y,Z,C)

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

球の上半分をカラー テーブルの最も高い値にマッピングするには、以下のようにします。

caxis([-1 0])

カラー テーブルの下半分のみを使用するには、以下のようにします。

caxis([-1 3])

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

コマンド

caxis auto

は、色軸のスケーリングをリセットして範囲が自動設定されるようにするので、表面に含まれる色がすべて表示されます。この場合、以下のように入力すると、

caxis

以下の結果が返されます。

[-1 1]

イメージ データでの caxis の使用

スケーリングされたカラー データをもつイメージを使用する場合には、色軸の調整が役立ちます。たとえば、米国マサチューセッツ州ケープコッドのイメージ データとカラーマップを読み込むとします。このコマンドは、イメージのデータ X とイメージのカラーマップ map をワークスペースに読み込みます。

load cape
% Display the image with CDataMapping set to scaled and
%  install the image's colormap.
image(X,'CDataMapping','scaled')
colormap(map)
% This adjusts the color limits to span the range 
% of the image data, which is 1 to 192:
caxis
ans =
     1   192

海の青色はカラーマップ内の最初の色で、最小のデータ値 (1) に割り当てられています。ここで色の範囲の最小値を変更すれば、海面の水位を簡単に変更できます。たとえば、次のコードは 4 つの設定内容を比較します。

figure
load cape
colormap(map)
subplot(2,2,1)
image(X,'CDataMapping','scaled')
axis image
title('Caxis = [1 192]')
subplot(2,2,2)
image(X,'CDataMapping','scaled')
axis image
title('Caxis = [3 192]')
caxis([3 192])
subplot(2,2,3)
image(X,'CDataMapping','scaled')
axis image
title('Caxis = [5 192]')
caxis([5 192])
subplot(2,2,4)
image(X,'CDataMapping','scaled')
axis image
title('Caxis = [6 192]')
caxis([6 192])

詳細

すべて展開する

ヒント

色軸スケーリングの詳細

インデックス付きの CData をもっており、CDataMappingscaled に設定されている surface、patch、および image グラフィックス オブジェクトは、描画のたびに、CData の値を Figure カラーマップ内の色に割り当てます。cmin 以下の CData 値はカラーマップ内の最初の色値、cmax 以上の CData 値はカラーマップ内の最後の色値に割り当てられます。中間の値 (下の式では C) をカラーマップ内の値に割り当てるため、以下の線形変換が行われます (長さは m、その行インデックスは下の式では index)。

index = fix((C-cmin)/(cmax-cmin)*m)+1;
%Clamp values outside the range [1 m]
index(index<1) = 1;
index(index>m) = m; 

参考

| | | | | | | | | |

この情報は役に立ちましたか?