主要内容

このページの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

プロパティ値へのアクセス

オブジェクトプロパティとドット表記

グラフ化関数は,自身が作成した1つ以上のオブジェクトを返します。以下に例を示します。

h =情节(1:10);

hは1 ~ 10の値からなるグラフに描画されるラインを参照します。

“ドット表記”構文は,オブジェクト変数とプロパティ名(大文字小文字は区別される)をドット()でつなげて”オブジェクト。プロパティ名“の表記を構成します。

对象。PropertyName

オブジェクト変数が非スカラーの場合は,インデックスを使用して単一のオブジェクトを参照します。

对象(n)。PropertyName

スカラーオブジェクト変数

hが関数情节によって作成されたラインの場合,式h.Colorはそのラインの颜色プロパティの値になります。

h.Color
Ans = 0 0.4470 0.7410

この颜色の値を変数に代入する場合を考えます。

c = h.Color;

変数cは双型になります。

Name Size Bytes Class c 1x3 24 double h 1x1 112

このラインの颜色プロパティの値を変更するには,代入ステートメントを使用します。

h.Color = [0 0 1];

ドット表記のプロパティ参照は式の中で使用します。

小气鬼=意味着(h.YData);

または,プロパティ値を変更するために使用します。

h.LineWidth = h.LineWidth + 0.5;

複数のドットによる参照を使用して,プロパティに含まれる他のオブジェクトを参照します。

h.Annotation.LegendInformation.IconDisplayStyle
ans =对

プロパティに含まれるオブジェクトのプロパティを設定します。

甘氨胆酸ax =;ax.Title.FontWeight =“正常”

非スカラーオブジェクト変数

グラフィックス関数はオブジェクトの配列を返すことができます。次に,例を示します。

y =兰德(5);h =情节(y);大小(h)
答案:1

配列のインデックスを使用して,yの最初の列を表すラインにアクセスします。

h(1)。线型=“——”

配列内の全ラインの线型を設定するには,関数を使用します。

集(h,“线型”“——”

プロパティ値へのデータの追加

ドット表記では,“端”インデックスを使用して,XDataYDataなどのデータ配列を含むプロパティにデータを追加できます。たとえば,次のコードはラインのXDataYDataを一緒に更新して,ラインを伸ばします。drawnowを呼び出してレンダリングを行ったり,MATLAB®プロンプトに戻ったりする前に,ラインのxデータとyデータが同じであることを確認しておかなければなりません。

h =情节(1:10);k = 1:5 h.XData(end + 1) = h.XData(end) + k;h.YData(end + 1) = h.YData(end) + k;drawnow结束

ハンドルであるグラフィックスオブジェクト変数

グラフィックス関数によって返されるオブジェクト変数は“ハンドル”です。ハンドルは実際のオブジェクトの参照です。ハンドルであるオブジェクト変数がコピーされたり,そのオブジェクトが削除されたりすると,特定の方法で動作します。

オブジェクト変数のコピー

たとえば1本のラインからなるグラフを作成するとします。

h =情节(1:10);

次に,オブジェクト変数を別の変数にコピーし,そのコピー先となったオブジェクト変数にプロパティ値を設定します。

h2 = h;h2。颜色= (1,0,0)

オブジェクト変数hh2に代入すると,その変数によって参照されているオブジェクトでなく,ハンドルのコピーが作成されます。変数hからアクセスされる颜色プロパティの値は,変数h2からアクセスされるものと同じです。

h.Color
Ans = 10 0

hおよびh2は,同じオブジェクトを参照します。ハンドルオブジェクト変数をコピーしても,オブジェクトはコピーされません。

オブジェクト変数の削除

同じラインを参照する2つのオブジェクト変数がワークスペースに存在します。

Name Size Bytes Class h 1x1 112 matlab.graphics.chart.primitiv . line h2 1x1 112 matlab.graphics.chart.primitiv . line

次に,線グラフが含まれている图を閉じます。

关闭gcf

行オブジェクトが存在しなくなりましたが,ラインを参照していたオブジェクト変数はまだ残っています。

Name Size Bytes Class h 1x1 112 matlab.graphics.chart.primitiv . line h2 1x1 112 matlab.graphics.chart.primitiv . line

ただし,これらのオブジェクト変数は有効ではなくなっています。

h.Color
无效或已删除的对象。
h2。颜色=“蓝”
无效或已删除的对象。

無効なオブジェクト変数を削除するには,清晰的を使用します。

清晰的hh2

オブジェクトプロパティの一覧表示

オブジェクトに含まれるプロパティを確認するには,関数得到を使用します。

得到(h)

MATLABからはオブジェクトプロパティとその現在値の一覧が返されます。

AlignVertexCenters: 'off'注释:[1x1 matlab.graphics.eventdata。注释]被删除:'off'忙碌动作:'queue' ButtonDownFcn: " Children: [] Clipping: 'on' Color:[0 0.4470 0.7410]…LineStyle: '-' LineWidth: 0.5000 Marker: 'none'…

プロパティに使用可能なすべての値を列挙するには,関数を使用します。

集(h,“线型”
'-' '——' ':' -。' '没有'

設定可能なすべてのプロパティと各プロパティに使用可能なすべての値を列挙するには,オブジェクト変数を指定してを使用します。

集(h)

设置および得到によるプロパティの変更

関数および得到を使用して,プロパティにアクセスして変更することもできます。

既存のオブジェクトにプロパティ値を設定する基本的な構文は,次のとおりです。

集(对象、“PropertyName”NewPropertyValue)

特定のオブジェクトプロパティの現在値をクエリするには,次の形式のステートメントを使用します。

returned_value =(对象,PropertyName);

プロパティ名は常に文字ベクトルです。一重引用符または文字ベクトルの変数を使用できます。プロパティ値は,特定のプロパティに依存します。

複数のオブジェクト/プロパティの操作

オブジェクト引数が配列の場合,MATLABでは指定した値が識別されたすべてのオブジェクトに設定されます。以下に例を示します。

y =兰德(5);h =情节(y);

すべてのラインを赤に設定します。

集(h,“颜色”“红色”

複数のオブジェクトに同じプロパティを設定するには,構造体または细胞配列を使用してプロパティ名とプロパティ値を指定します。たとえば,座標軸のプロパティを適切に設定して,特定のグラフを表示するように構造体を定義します。

view1。CameraViewAngleMode =“手册”;view1。dataspectratio = [1 1 1];view1。投影=“视角”;

現在の座標軸にこれらの値を設定するには,次のように入力します。

view1集(gca)

複数のプロパティのクエリ

プロパティ名の细胞配列を定義し,その细胞配列を使用して,それらのプロパティの値を取得できます。たとえば,座標軸の”カメラモード”プロパティの値を照会するとします。まず、细胞配列を定義します。

camModes = {“CameraPositionMode”“CameraTargetMode”...“CameraUpVectorMode”“CameraViewAngleMode”};

この细胞配列を引数として使用して,これらのプロパティの現在値を取得します。

camModes get (gca)
Ans = 'auto' 'auto' 'auto'