Main Content

imagesc

スケーリングした色によるイメージの表示

説明

imagesc(C) は配列 C のデータを、カラーマップの全範囲の色を使用するイメージとして表示します。C の各要素は、イメージの 1 ピクセルの色を指定します。結果のイメージは mn 列のピクセルからなるグリッドです。ここで、mC の行数、n は列数です。要素の行と列のインデックスにより、対応するピクセルの中心が決まります。

imagesc(x,y,C) は、イメージの位置を指定します。xy を使用して、C(1,1)C(m,n) に対応する角の位置を指定します。両方の角を指定するには、xy を 2 要素ベクトルとして設定します。一方の角を指定し、他方の角を imagesc で決定するには、xy をスカラー値として設定します。イメージが伸張し、適切に方向付けされます。

imagesc('CData',C) は、既存のプロットを置き換えずに、現在の座標軸にイメージを追加します。この構文は、imagesc(C) の低水準版です。詳細については、高水準版と低水準版の違いを参照してください。

imagesc('XData',x,'YData',y,'CData',C) は、イメージの位置を指定します。この構文は、imagesc(x,y,C) の低水準版です。

imagesc(___,Name,Value) は、名前と値のペアの引数を 1 つ以上使用して、イメージのプロパティを指定します。名前と値のペアの引数は、前述した構文における任意の入力引数の組み合わせの後に指定できます。イメージのプロパティと説明の一覧については、Image のプロパティ を参照してください。

imagesc(___,clims) は、カラーマップの最初と最後の要素にマッピングされるデータ値を指定します。clims[cmin cmax] の形式の 2 要素ベクトルとして指定します。ここで、cmin 以下の値はカラーマップの最初の色にマッピングされ、cmax 以上の値はカラーマップの最後の色にマッピングされます。clims を名前と値のペアの引数の後に指定します。

imagesc(ax,___) は、現在の座標軸 (gca) ではなく ax で指定された座標軸にイメージを作成します。座標軸を最初の入力引数として指定します。

im = imagesc(___) は、作成された Image オブジェクトを返します。イメージの作成後にプロパティを設定するには、im を使用します。この出力は、前述の構文に示した任意の入力引数の組み合わせを使用して指定できます。

すべて折りたたむ

行列 C を作成します。C のデータのイメージを表示します。現在のカラーマップを表示するカラーバーをグラフに追加します。既定では、イメージがカラーマップの全範囲を使用するように imagesc は色の範囲をスケーリングします。この場合、C の最小値がカラーマップの最初の色、最大値が最後の色にマッピングされます。

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(C)
colorbar

Figure contains an axes object. The axes object contains an object of type image.

x 軸の 5 ~ 8、y 軸の 3 ~ 6 の範囲を占めるようにイメージを配置します。

x = [5 8];
y = [3 6];
C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
imagesc(x,y,C)

Figure contains an axes object. The axes object contains an object of type image.

C(1,1) に対応するピクセルの中心は点 (5,3) になります。C(3,4) に対応するピクセルの中心は点 (8,6) になります。imagesc は、この 2 点間に残りのイメージを配置し、方向を設定します。

データ値の配列として C を作成します。C のイメージを作成し、4 以下の値がカラーマップの最初の色にマッピングされ、18 以上の値がカラーマップの最後の値にマッピングされるように色の範囲を設定します。データ値がカラーマップにどのようにマッピングされたかを示すカラーバーを表示します。

C = [0 2 4 6; 8 10 12 14; 16 18 20 22];
clims = [4 18];
imagesc(C,clims)
colorbar

Figure contains an axes object. The axes object contains an object of type image.

イメージを作成し、image オブジェクト im を返します。次に、image オブジェクトの AlphaData プロパティを設定してイメージを半透明にします。

C = [1 2 3; 4 5 6; 7 8 9];
im = imagesc(C);

Figure contains an axes object. The axes object contains an object of type image.

im.AlphaData = .5;

Figure contains an axes object. The axes object contains an object of type image.

表面プロットを作成します。次に、表面の下方にイメージを追加します。imagesc はイメージを xy 平面に表示します。

Z = 10 + peaks;
surf(Z)
hold on
imagesc(Z)

Figure contains an axes object. The axes object contains 2 objects of type surface, image.

入力引数

すべて折りたたむ

イメージのカラー データ。ベクトルまたは行列として指定します。C の各要素は、イメージの 1 ピクセルの色を定義します。C の要素は、関連付けられている座標軸のカラーマップの色にマッピングされます。C の最小値はカラーマップの最初の色にマッピングされ、最大値は最後の色にマッピングされます。NaN 要素の動作は定義されていません。

メモ

Cm×n×3 の配列として指定する場合、関数 imagesc はイメージをトゥルーカラー (RGB) イメージとして解釈します。imagesc はトゥルーカラー イメージのピクセル値を再スケーリングしません。関数 rescale を使用して、imagesc を呼び出す前にトゥルーカラー ピクセル値をスケーリングします。

代わりに関数 imagesc の低水準版を使用するには、CData プロパティを名前と値のペアとして設定します。たとえば、imagesc('CData',C) のようになります。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

x 軸に沿った配置。次のいずれかの形式で指定します。

  • 2 要素ベクトル — 最初の要素を C(1,1) の中心の位置として使用し、2 番目の要素を C(m,n) の中心の位置として使用します。ここで、[m,n] = size(C) です。C が 3 次元配列である場合、mn は最初の 2 つの次元です。C の残りの要素の中心は、これら 2 点間に等間隔に分布されます。

    各ピクセルの幅は次の式で決定されます。

    (x(2)-x(1))/(size(C,2)-1)

    x(1) > x(2) の場合、イメージが左右反転されます。

  • スカラー — この位置に C(1,1) の中心を配置し、それに続く要素はそれぞれ 1 単位ずつ離します。

メモ

  • x に 2 つを超える要素がある場合、imagesc は最初と最後の要素を使用し、他の要素は無視します。

  • 代わりに関数 imagesc の低水準版を使用するには、名前と値の引数を使用して XData プロパティを設定します。たとえば、imagesc('XData',x,'YData',y,'CData',C) のようになります。

  • 範囲がもともとイメージ境界の外側に設定されていない限り、x 軸や y 軸の範囲外へのイメージの移動やズームを対話的に実行することはできません。範囲がもともと境界の外側にある場合、そのような制限はありません。他のオブジェクト (ラインなど) が座標軸を占有し、イメージの境界を越えている場合、他のオブジェクトの境界まで移動またはズームを実行できます。ただし、そのオブジェクトの境界を越えることはできません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | datetime (R2023b 以降) | duration (R2023b 以降) | categorical (R2023b 以降)

y 軸に沿った配置。次のいずれかの形式で指定します。

  • 2 要素ベクトル — 最初の要素を C(1,1) の中心の位置として使用し、2 番目の要素を C(m,n) の中心の位置として使用します。ここで、[m,n] = size(C) です。C が 3 次元配列である場合、mn は最初の 2 つの次元です。C の残りの要素の中心は、これら 2 点間に等間隔に分布されます。

    各ピクセルの高さは次の式で決定されます。

    (y(2)-y(1))/(size(C,1)-1)

    y(1) > y(2) の場合、イメージが上下反転されます。

  • スカラー — この位置に C(1,1) の中心を配置し、それに続く要素はそれぞれ 1 単位ずつ離します。

メモ

  • y に 2 つを超える要素がある場合、imagesc は最初と最後の要素を使用し、他の要素は無視します。

  • 代わりに関数 imagesc の低水準版を使用するには、名前と値の引数を使用して YData プロパティを設定します。たとえば、imagesc('XData',x,'YData',y,'CData',C) のようになります。

  • 範囲がもともとイメージ境界の外側に設定されていない限り、x 軸や y 軸の範囲外へのイメージの移動やズームを対話的に実行することはできません。範囲がもともと境界の外側にある場合、そのような制限はありません。他のオブジェクト (ラインなど) が座標軸を占有し、イメージの境界を越えている場合、他のオブジェクトの境界まで移動またはズームを実行できます。ただし、そのオブジェクトの境界を越えることはできません。

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical | datetime (R2023b 以降) | duration (R2023b 以降) | categorical (R2023b 以降)

色の範囲。[cmin cmax] の形式の 2 要素ベクトルとして指定します。ここで cmaxcmin より大きい値です。Ccmin 以下の値は、カラーマップの最初の色にマッピングされます。cmax 以上の値は、カラーマップの最後の色にマッピングされます。cmincmax の間の値は、カラーマップに線形にマッピングされます。

色の範囲を指定した場合、関数 imagesc は座標軸の CLim プロパティをその指定値に設定します。色の範囲を指定しない場合、imagesc は座標軸の CLim プロパティを C の最小値と最大値に設定します。

Axes オブジェクト。Axes オブジェクトを指定しない場合、imagesc は現在の座標軸を使用します。

名前と値の引数

引数のオプションのペアを Name1=Value1,...,NameN=ValueN として指定します。ここで Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後になければなりませんが、ペアの順序は重要ではありません。

R2021a より前では、コンマを使用してそれぞれの名前と値を区切り、Name を引用符で囲みます。

例: imagesc([1 2 3],'AlphaData',0.5) は、半透明のイメージを表示します。

以下にリストするプロパティは、イメージ プロパティの一部です。完全な一覧については、Image のプロパティ を参照してください。

透明度のデータ。次のいずれかの形式で指定します。

  • スカラー — イメージ全体で同じ透明度を使用します。

  • CData と同じサイズの配列 — イメージの要素ごとに異なる透明度の値を使用します。

AlphaDataMapping プロパティは、アルファ データの透明度値を MATLAB® が解釈する方法を制御します。

例: 0.5

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | logical

AlphaData の値の解釈。次の値のいずれかとして指定します。

  • 'none' — 値を透明度値として解釈します。1 以上の値は完全に不透明に、0 以下の値は完全に透明に、0 と 1 の間の値は半透明になります。

  • 'scaled' — 値を Figure の alphamap にマッピングします。座標軸のアルファ値の範囲の最小値と最大値によって、alphamap の最初と最後の要素にマッピングされるアルファ データ値が決まります。たとえば、アルファ値の範囲が [3 5] の場合、3 以下のアルファ データ値は alphamap の最初の要素にマッピングされます。また、5 以上のアルファ データ値は、alphamap の最後の要素にマッピングされます。座標軸の ALim プロパティにはアルファ値の範囲が含まれています。Figure の Alphamap プロパティには alphamap が含まれています。

  • 'direct' — Figure の alphamap のインデックスとして値を解釈します。小数部のある値は最も近い小さい方の整数に固定されます。

    • 値が double 型または single 型の場合、1 以下の値は alphamap の最初の要素にマッピングされます。alphamap の長さ以上の値は、alphamap の最後の要素にマッピングされます。

    • 値が整数型の場合、0 以下の値は alphamap の最初の要素にマッピングされます。alphamap の長さ以上の値は、alphamap の最後の要素 (またはその型の範囲の上限) にマッピングされます。整数型は uint8uint16uint32uint64int8int16int32int64 です。

    • 値が logical 型の場合、0 の値は alphamap の最初の要素に、1 の値は alphamap の 2 番目の要素にマッピングされます。

出力引数

すべて折りたたむ

Image オブジェクト。イメージの作成後にプロパティを設定するには、im を使用します。一覧については、Image のプロパティ を参照してください。

詳細

すべて折りたたむ

高水準版と低水準版の違い

関数 imagesc には、高水準版と低水準版の 2 つがあります。imagesc の入力引数として 'CData' を使用した場合、低水準版が使用されます。それ以外の場合、高水準版が使用されます。

高水準版の imagesc は、プロットの前に newplot を呼び出し、この座標軸のプロパティを次のように設定します。

  • Layer'top' に。イメージは、目盛りやグリッド ラインの手前に表示されます。

  • YDir'reverse' に。y 軸の値は、上から下に増加します。上から下に値を減少するには、YDir'normal' に設定します。この設定は、y 軸とイメージの両方を反転します。

  • View[0 90] に。

低水準版の関数 imagescnewplot を呼び出さず、座標軸のプロパティを設定しません。

両方の版で、関数 imagesc は以下を設定します。

  • Image オブジェクトの CData プロパティを C の値に設定します。

  • Image オブジェクトの CDataMapping プロパティを 'scaled' に設定します。

  • Axes オブジェクトの CLim プロパティを C の最小値と最大値に設定します (入力引数 clims が指定されている場合を除く)。

ヒント

  • TIFF などのさまざまな標準形式のグラフィックス ファイルから、イメージ データを MATLAB に読み込むには、imread を使用します。MATLAB のイメージ データをグラフィックス ファイルに書き込むには、imwrite を使用します。関数 imread および imwrite は、さまざまなグラフィックス ファイル形式と圧縮方式をサポートしています。

  • 座標軸の色の範囲を表示または設定するには、関数 clim を使用できます。

    R2022a より前: caxis を使用します。その構文と引数は clim と同じです。

拡張機能

バージョン履歴

R2006a より前に導入

すべて展開する