Graphics | ![]() ![]() |
プロパティ値の照会
get
を使って、プロパティのカレント値またはすべてのオブジェクトプロパティのカレント値を照会します。たとえば、カレントAxesのPlotBoxAspectRatio
プロパティをチェックします。
get(gca,'PlotBoxAspectRatio') ans = 1 1 1
MATLABは、実質的には、すべてのプロパティの値をリストします。しかし、データを含むプロパティの場合、MATLABは大きさのみをリストします(たとえば、CurrentPoint
やColorOrder)
)。
AmbientLightColor = [1 1 1] Box = off CameraPosition = [0.5 0.5 2.23205] CameraPositionMode = auto CameraTarget = [0.5 0.5 0.5] CameraTargetMode = auto CameraUpVector = [0 1 0] CameraUpVectorMode = auto CameraViewAngle = [32.2042] CameraViewAngleMode = auto CLim: [0 1] CLimMode: auto Color: [0 0 0] CurrentPoint: [ 2x3 double] ColorOrder: [ 7x3 double].
.
. Visible = on
個々のプロパティの照会
そのプロパティを別々に取り出すことによって、求めるプロパティからのデータを得ることができます。
get(gca,'ColorOrder') ans = 0 0 1.0000 0 0.5000 0 1.0000 0 0 0 0.7500 0.7500 0.7500 0 0.7500 0.7500 0.7500 0 0.2500 0.2500 0.2500
構造体の出力
get
の出力を変数に割り当てる場合、MATLABはフィールド名がオブジェクトのプロパティ名で、フィールド値が対応するプロパティのカレント値である構造体配列を作成します。
h = plot(x,y);
plot
で作成したLineオブジェクトのプロパティを取り出します。
a = get(h);
これにより、フィールド名を使ってLineのプロパティの値にアクセスすることができます。つぎのようにして、関数text
を呼び出すと、文字列'x and y data' は、最初のデータ点に配置され、ラインカラーと同じカラーで描かれます。
text(x(1),y(1),'x and y data','Color',a.Color)
x
とy
が行列の場合、plot
は列毎に1本のラインを描きます。データの2列目のプロットにラベルを付けるためには、そのLineを参照します。
text(x(1,2),y(1,2),'Second set of data','Color',a(2).Color)
プロパティグループの照会
プロパティ名のセル配列を定義し、それらのプロパティに対する値を得るために、それを便利に利用することができます。たとえば、Axesの"カメラモード"プロパティの値を照会するとします。まず、セル配列を定義します。
camera_props(1) = {'CameraPositionMode'}; camera_props(2) = {'CameraTargetMode'}; camera_props(3) = {'CameraUpVectorMode'}; camera_props(4) = {'CameraViewAngleMode'};
このセル配列を引数として使い、これらのプロパティに対するカレント値を取り出します。
get(gca,camera_props) ans = 'auto' 'auto' 'auto' 'auto'
![]() | プロパティ値の設定 | 出荷時に設定したプロパティ値 | ![]() |