Graphics    

縦横比と表示サイズのコントロール

image関数は、デフォルトサイズのFigureとAxesにイメージを表示します。MATLABは、イメージを引き伸ばしたり、縮小して表示領域に適合するようにします。表示の縦横比をイメージデータ行列の縦横比に一致させたい場合があります。このための最も簡単な方法は、コマンドaxis imageによる方法です。

たとえば、つぎのコマンドはデフォルトのFigureとAxes位置を使って、demosディレクトリにある地球のイメージearthを表示します。

axesの位置に合わせてイメージ表示を引き伸ばした結果、得られた地球は若干引き伸ばされた形となります。axis imageコマンドを使って、縦横比を1:1にします。

コマンドaxis imageは、AxesオブジェクトのDataAspectRatioプロパティを[1 1 1]に設定します。Axesオブジェクトの外観を制御する方法の詳細については、オンラインのMATLAB Function Referenceのaxis、および、axesコマンドを参照してください。

データ行列の各要素が1つのスクリーンピクセルに対応するように、イメージを表示したい場合があります。行列要素とスクリーンピクセルを一対一に写像してイメージを表示するためには、FigureとAxesのサイズを変更する必要があります。たとえば、つぎのコマンドは、1つのデータ要素が1つのスクリーンピクセルに対応するように地球のイメージを表示します。

FigureのPositionプロパティは、スクリーン上のFigureの位置とそのサイズを設定する4要素のベクトルです。上の2番目のステートメントは、Figureの左下隅がスクリーン上の位置(100,100)になり、その幅と高さがイメージの幅と高さに一致するように、Figureの位置を決めます。Axesの位置を正規化した単位で[0 0 1 1]に設定すると、Figure一杯になるAxesが生成されます。結果として得られる図は、つぎのとおりです。


 イメージタイプと表示方法のまとめ Imageオブジェクトとそのプロパティ