Graphics | ![]() ![]() |
プロパティ値の設定
既存のオブジェクトのプロパティは、関数set
と作成関数によって出力されるハンドル番号を使って、変更することができます。たとえば、つぎのステートメントは、y軸をカレントAxes上のプロットの右側に移動します。
set(gca,'YAxisLocation','right')
ハンドル番号を設定する引数がベクトルの場合、MATLABは識別したすべてのオブジェクトに特定の値を設定します。
プロパティ名とプロパティ値は、構造体配列やセル配列を使って、設定することができます。これは、いくつかのオブジェクトに同じプロパティを設定する場合に有効です。たとえば、Axesプロパティを適切に設定して、特定のグラフを表示するように構造体を定義することができます。
view1.CameraViewAngleMode = 'manual'; view1.DataAspectRatio = [1 1 1]; view1.ProjectionType = 'Perspective';
カレントAxesに、これらの値を設定するには、つぎのように入力します。
set(gca,view1)
設定可能な値の一覧表示
set
を使うと新しい値を実際に割り当てることなく、多くのプロパティに対して設定可能な値を表示することができます。たとえば、つぎのステートメントにより、Lineオブジェクトマーカに対して設定できる値が得られます。
set(obj_handle,'Marker')
MATLABは、obj_handle
で設定されたタイプのオブジェクトに対するMarker
プロパティの値の一覧を出力します。中括弧はデフォルト値を示します。
[ + | o | * | . | x | square | diamond | v | ^ | > | < | pentagram | hexagram | {none} ]
文字列で値を設定されるプロパティの可能な値と共に、すべての設定可能なプロパティのリストを見るためには、オブジェクトのハンドル番号のみでset
を使用します。
set(object_handle)
たとえば、Surfaceオブジェクトの場合、MATLABは、つぎのような出力を行います。
CData CDataScaling: [ {on} | off] EdgeColor: [ none | {flat} | interp ] ColorSpec. EraseMode: [ {normal} | background | xor | none ] FaceColor: [ none | {flat} | interp | texturemap ] ColorSpec. LineStyle: [ {-} | -- | : | -. | none ].
.
. Visible: [ {on} | off ]
関数set
の出力を変数に割り当てると、MATLABは構造体配列として出力します。たとえば、
a = set(gca);
です。a
のフィールド名はオブジェクトのプロパティ名で、フィールド値は関連するプロパティに対する設定可能な値です。たとえば、
a.GridLineStyle ans = '-' '--' ':' '-.' 'none'
は、Axesのグリッドラインスタイルに対して設定可能な値を出力します。プロパティ名には大文字と小文字の区別がありませんが、MATLAB構造体フィールド名には大文字と小文字の区別があります。たとえば、
a.gridlinestyle ??? Reference to non-existent field 'gridlinestyle'.
![]() | プロパティ値の設定と照会 | プロパティ値の照会 | ![]() |