MATLAB Function Reference | ![]() ![]() |
表示
axes axes('PropertyName',PropertyValue,...) axes(h) h = axes(...)
詳細
axes
は、Axesグラフィックスオブジェクトを作成するための低水準関数です。
axes
は、デフォルトのプロパティ値を使って、カレントの Figure
の中に Axes
グラフィックスオブジェクトを作成します。
axes('PropertyName',PropertyValue,...)
は、指定したプロパティ値をもつ Axes
オブジェクトを作成します。MATLAB は、引数として明示的に設定しなければ、必要とするプロパティに対して、デフォルト値を使います。
axes(h)
は、Axes
をカレント Axes にします。これは、 h
を Figure のChildren
プロパティの中にリストされた最初の Axes にし、Figure の CurrentAxes
プロパティをhに設定します。カレントのAxes
は、Image,Line,Patch,Surface,Text グラフィックスオブジェクトを描く関数に対してターゲットになるものです。
h = axes(...)
は、作成された Axes
オブジェクトのハンドル番号を出力します。
注意
image, light, line, patch, surface, text グラフィックスオブジェクトを描くコマンドを読み込んだときに、 Axes
が存在しなければ、 MATLAB は自動的に Axes
を作成します。
関数 axes
は、入力引数として、プロパティ名とプロパティ値の組み合わせ、構造体配列、セル配列を使うことが出来ます(このようなデータタイプを設定する方法は、コマンドset
とget
のページの例題を参照してください)。 Axes
オブジェクトの種々の外観を制御するこれらのプロパティは、"Axes プロパティ"
に記述されています。
既存の Axes
のプロパティを変更するには関数 set
を、 Axes
プロパティのカレント値を調べるには関数 get
を使います。また、カレントの Axes
のハンドルを得るには、gca
コマンドを使います。
関数 axis
(axes
ではありません) は、 Axes
のスケーリングや表示法を制御するために一般に使われているプロパティに、簡単にアクセスすることができます。
Axes
オブジェクトの基本的な目的は、データをプロットするときの座標系を設定するものですが、 Axes
プロパティは、データを表示するために MATLAB で使う方法を十分に制御するものです。
MATLABは、デフォルトではAxesの長方形(Position
プロパティの最後の2要素で定義される長方形)を満たすために、Axesを引き伸ばします。これにより、グラフは長方形内の空間を使用することができます。しかし、引き伸ばしや、特定の3次元の縦横比で表示するために、(球面のような)3次元グラフは、歪んで表示されます。
Stretch-to-fillは、DataAspectRatioMode
, PlotBoxAspectRatioMode
, CameraViewAngleMode
が、すべてauto
(デフォルト)のときにアクティブです。しかし、DataAspectRatio
, PlotBoxAspectRatio
, CameraViewAngle
のいずれかをユーザが指定したときや、対応するモードのうちの1つまたは複数がmanual
に設定されている(対応するプロパティ値を設定したときに自動的に設定されます)ときは、stretch-to-fillはオフになります。
下図は、Stretch-to-fillを使用したときと使用しないときの球面を表示したものです。点線は、AxesのPosition
を決める長方形を示しています。
Stretch-to-fillが使用できないとき、MATLABは、Position
により設定される長方形によって歪みが生じない範囲で、Axesの大きさをできるだけ大きく設定します。前ページの図では、長方形の高さがAxesのサイズに制約を与えています。
例題
sphere set(gca,'DataAspectRatio',[1 1 1],... 'PlotBoxAspectRatio',[1 1 1],'ZLim',[-0.6 0.6])
CameraViewAngle
を使って、拡大表示や縮小表示を行います。
sphere set(gca,'CameraViewAngle',get(gca,'CameraViewAngle')-5) set(gca,'CameraViewAngle',get(gca,'CameraViewAngle')+5)
上の2つの例では、MATLABのstretch-to-fillは使えないことに注意してください。
Axes の配置
Axes の Position
プロパティは、Figure ウィンドウの中の Axes の位置を定義することができます。たとえば、
h = axes('Position',position_rectangle)
は、カレント Figure の中の指定した位置に Axes オブジェクトを作成します。そして、そのハンドルを出力します。Axes の位置と大きさは、4要素ベクトルで定義される長方形で設定することができます。
position_rectangle = [left, bottom, width, height];
このベクトルの left
要素と bottom
要素は、Figure の左下隅から、長方形の左下隅までの距離を定義します。width
要素と height
要素は、長方形の大きさを定義します。また、 Units
プロパティを使って、これらの値の単位を設定します。デフォルトで、MATLAB は、Figure ウィンドウの左下隅を (0,0)
、右上隅を (1.0,1.0)
とした正規化された単位を使います。
単一の Figure ウインドの中で、複数の Axes を設定できます。
axes('position',[.1 .1 .8 .6]) mesh(peaks(20)); axes('position',[.1 .7 .8 .2]) pcolor([1:10;1:10]);
つぎの例の中で、最初のプロットは、Figure の下 2/3 の部分を占め、2番目のものは、上1/3の部分を占めています。
参考
axis
, cla
, clf
, figure
, gca
, grid
, subplot
, title
, xlabel
, ylabel
, zlabel
, view
オブジェクトの階層構造
デフォルトプロパティ値の設定
Figure や Root レベル上にデフォルトの Axes プロパティを設定することができます。
set(0,'DefaultAxesPropertyName',PropertyValue,...) set(gcf,'DefaultAxesPropertyName',PropertyValue,...)
ここで、PropertyName
は、Axes プロパティの名前で、PropertyValue
は設定する値です。Axesのプロパティにアクセスするためには、set
とget
を使用してください。
つぎの表は、Axesのプロパティと簡単な説明を示したものです。プロパティ名は、プロパティの詳細な説明にリンクされています。
プロパティ名 |
プロパティの詳細 |
プロパティ値 |
スタイルと外観を制御するプロパティ | ||
Box |
axesプロットボックスの表示の切り替え |
値: on , off デフォルト: off |
Clipping |
このプロパティは、他に影響を与えません。axes は、常に、figure ウインドにクリップされています。 |
|
GridLineStyle |
axes のグリッドラインの描画に使用するラインスタイル |
値: -, --, : , -. , none デフォルト: : (点線) |
Layer |
グラフの上下のいずれかにaxes を描画 |
値: bottom , top デフォルト: bottom |
LineStyleOrder |
複数のラインのプロットに使用するラインスタイル |
値: LineSpec デフォルト: - (実線に対して) |
LineWidth |
ポイント単位のaxis の線幅 (1ポイントは、1/72インチ) |
値:ポイント数 デフォルト: 0.5 点 |
SelectionHighlight |
(Selected プロパティが、on に設定されているとき)選択したときに強調するaxes |
値: on , off デフォルト: on |
TickDir |
軸の目盛りの方向 |
値: in , out デフォルト: in (2-次元), out (3-次元) |
TickDirMode |
MATLAB指定またはユーザ指定の目盛りの方向 |
値: auto , manual デフォルト: auto |
TickLength |
軸の長さに正規化された目盛りの長さ。2要素のベクトルで指定されます。 |
値: [2-D 3-D] デフォルト: [0.01 0.025} |
Visible |
axes の可視化の指定 |
値: on , off デフォルト: on |
XGrid, YGrid, ZGrid |
各方向軸でのグリッドラインのオンとオフの切り替え |
値: on , off デフォルト: off |
Axesの一般情報のためのプロパティ | ||
Children |
axes 内に表示されるimages, lights, lines, patches, surfaces, text オブジェクトのハンドル |
値:ハンドルを要素とするベクトル |
CurrentPoint |
axes のデータ単位で表わす定義された最後にマウスボタンがクリックされた位置 |
値:2行3列の行列 |
HitTest |
axes がカレントのオブジェクトになることができるかどうかを指定(FigureのCurrentObject プロパティを参照) |
値: on , off デフォルト: on |
Parent |
axes を含むFigureウインドのハンドル番号 |
値:Figureのハンドル番号のスカラ値 |
Position |
Figure内のaxes の位置とサイズ |
値:[left bottom width height] デフォルト: 正規化されたUnits での[0.1300 0.1100 0.7750 0.8150] |
Selected |
axes が、"選択された"状態かどうかを指定 |
値: on , off デフォルト: on |
Tag |
ユーザ指定のラベル |
値:任意の文字列 デフォルト: '' (空文字列) |
Type |
グラフィックスオブジェクトのタイプ(参照のみ) |
値:文字列 'axes' |
Units |
Position プロパティの解釈に使用される単位 |
値: inches , centimeters , characters , normalized , points , pixels デフォルト: normalized |
UserData |
ユーザ指定のデータ |
値: 任意の行列 デフォルト: [] (空行列) |
フォントとラベルの制御のプロパティ | ||
FontAngle |
イタリックまたは標準のフォントの選択 |
値: normal , italic , oblique デフォルト: normal |
FontName |
フォントファミリ名(例えば, Helvetica, Courier) |
値:稼働中のシステムがサポートするフォント FixedWidth デフォルト: 通常、Helvetica |
FontSize |
タイトルとラベルに使用するフォントサイズ |
値: 単位の整数 FontUnits |
FontUnits |
FontSize プロパティの解釈に使用する単位 |
値: points , normalized , inches , centimeters , pixels デフォルト: points |
FontWeight |
ボールドまたは標準のフォントの選択 |
値: normal , bold , light , demi デフォルト: normal |
Title |
タイトルtext オブジェクトのハンドル番号 |
値: 任意の有効なtext オブジェクトのハンドル番号 |
XLabel, YLabel, ZLabel |
各方向軸のラベルのtext オブジェクトのハンドル番号
|
値:任意の有効なtext オブジェクトのハンドル番号 |
XTickLabel, YTickLabel, ZTickLabel |
各方向軸の目盛りのラベルの指定 |
値:文字列からなる行列デフォルト:MATLABが自動的に選択した数値 |
XTickLabelMode, YTickLabelMode, ZTickLabelMode |
MATLAB指定またはユーザ指定の目盛りのラベルのいずれかを使用 |
値: auto , manual デフォルト: auto |
Axesのスケーリングを制御するプロパティ | ||
XAxisLocation |
x-軸の位置を指定 |
値: top , bottom デフォルト: bottom |
YAxisLocation |
y-軸の位置の指定 |
値: right left デフォルト: left |
XDir, YDir, ZDir |
各方向軸の増分値の方向を指定 |
値: normal , reverse デフォルト: normal |
XLim, YLim, ZLim |
各方向軸の範囲を指定 |
値: [min max] デフォルト: MATLABが自動的に決定する最大値と最小値 |
XLimMode, YLimMode, ZLimMode |
各方向軸の範囲についてMATLAB指定値またはユーザ指定値のいずれかを使用 |
値: auto , manual デフォルト: auto |
XScale, YScale, ZScale |
各方向軸に対して、線形軸または対数軸を選択 |
値: linear , log デフォルト: linear (非線形プロットを作成するプロットコマンドにより変更されます) |
XTick, YTick, ZTick |
軸の目盛りの位置を指定 |
値: 目盛り位置のデータ値からなるベクトル、デフォルト:MATLABが、自動的に決定する目盛りの位置 |
XTickMode, YTickMode, ZTickMode |
各方向の目盛り位置に対して、MATLAB指定値またはユーザ指定値のいずれかを使用 |
値: auto , manual デフォルト: auto |
Viewを制御するプロパティ | ||
CameraPosition |
スクリーンを見る点の位置を設定 |
値:[x,y,z] 軸の座標 デフォルト: MATLABが自動的に決定 |
CameraPositionMode |
MATLAB指定またはユーザ指定のカメラ位置のいずれかを選択 |
値: auto , manual デフォルト: auto |
CameraTarget |
カメラで見る中心点 |
値: [x,y,z] 軸の座標 デフォルト:MATLABが自動的に決定 |
CameraTargetMode |
MATLAB指定またはユーザ指定のカメラターゲットのいずれかを選択 |
値: auto , manual デフォルト: auto |
CameraUpVector |
カメラを上向きに設定 |
値: [x,y,z] 軸の座標 デフォルト: MATLABが自動的に決定 |
CameraUpVectorMode |
MATLAB指定またはユーザ指定のカメラの上向きベクトルのいずれかを使用 |
値: auto , manual デフォルト: auto |
CameraViewAngle |
カメラの表示フィールド |
値:0から180の間の角度 デフォルト:MATLABが自動的に決定 |
CameraViewAngleMode |
MATLAB指定またはユーザ指定のカメラの視点角度のいずれかを使用 |
値: auto , manual デフォルト: auto |
Projection |
投影のタイプの選択 |
値: orthographic , perspective デフォルト: orthographic |
Axesの縦横比を制御するプロパティ | ||
DataAspectRatio |
データ単位の相対スケール |
値: 3つの相対値 [dx dy dz] デフォルト: MATLABが自動的に決定 |
DataAspectRatioMode |
MATLAB指定またはユーザ指定のデータの縦横比のいずれかを使用 |
値: auto , manual デフォルト: auto |
PlotBoxAspectRatio |
Axes プロットボックスの相対的なスケーリング |
値: 3つの相対値 [dx dy dz] デフォルト: MATLABが自動的に決定 |
PlotBoxAspectRatioMode |
MATLAB指定またはユーザ指定のプロットボックスの縦横比のいずれかを使用 |
値: auto , manual デフォルト: auto |
コールバックルーチンの実行を制御するプロパティ | ||
BusyAction |
コールバックルーチンの実行に割り込むイベントの取り扱い方法を指定 |
値: cancel , queue デフォルト: queue |
ButtonDownFcn |
axes 上でボタンが押されたときに実行されるコールバックルーチンを定義 |
値:文字列 デフォルト: 空文字列 |
CreateFcn |
axes が作成されたときに実行するコールバックルーチンの定義 |
値: 文字列 デフォルト: 空行列 |
DeleteFcn |
axes が削除されたときに、実行するコールバックルーチンの定義 |
値: 文字列 デフォルト: 空行列 |
Interruptible |
実行中のコールバックルーチンが割り込みされるかどうかを制御 |
値: on , off デフォルト: on |
UIContextMenu |
コンテキストメニュとaxes の対応付け |
値:Uicontextmenuのハンドル |
レンダリングモードの指定 | ||
DrawMode |
レンダラで使用するレンダリング方法の指定 |
値: normal , fast デフォルト: normal |
グラフィックスの表示に対するAxes のターゲッテング | ||
HandleVisibility |
指定したaxes のハンドルへのアクセスの制御 |
値: on , callback , off デフォルト: on |
NextPlot |
グラフィックスの表示に対するaxes の的確さを指定 |
値: add , replace , replacechildren デフォルト: replace |
Transparencyを設定するプロパティ |
|
|
ALim |
Alpha 軸の範囲 |
値:[amin amax] |
ALimMode |
Alpha 軸の範囲のモード |
値: auto | manual デフォルト: auto |
カラーの指定のためのプロパティ | ||
AmbientLightColor |
背景のカラー |
値: ColorSpec デフォルト: [1 1 1] |
CLim |
データのカラーマッピングへのマッピング方法の制御 |
値: [cmin cmax] デフォルト:MATLABが自動的に決定する値 |
CLimMode |
MATLAB指定またはユーザ指定のCLim の値のいずれかを使用 |
値: auto , manual デフォルト: auto |
Color |
axes のバックグランドカラー |
値: none , ColorSpec デフォルト: none |
ColorOrder |
複数の行のプロットに使用するラインのカラー値: |
値: m行3 列のRBG値の行列 デフォルト: 使用されるカラースキームにより異なります。 |
XColor, YColor, ZColor |
軸のラインと目盛りのカラー |
値: ColorSpec デフォルト: カレントのカラースキームにより異なります |
![]() | aviread | Axes Properties | ![]() |