最新のリリースでは,このページがまだ翻訳されていません。このこのの最新版版は英语でご覧になれます。
グラフィックスオブジェクトは,グラフを表示するために用いる基本要素です。次の図に示すように,これらのオブジェクトは階層にまとめられます。
プロット関数を呼び出すと,MATLAB®は图ウィンドウ,座標軸,ライン,テキストなどのさまざまなグラフィックスオブジェクトを使用してグラフを作成します。それぞれのオブジェクトには既定の一連のプロパティがあり,それを使用してグラフの動作と外観を管理できます。
たとえば,次のステートメントははy,バーの外観プロパティを设定设定ます。
y = [75 91 105 123.5 131 150 179 203 226 249 281.5];栏(y,“FaceColor”,“绿色”,“EdgeColor”,“黑”,“线宽”, 1.5)
MATLABでは,関数を呼び出してグラフを作成するときにグラフィックスオブジェクトの階層が作成されます。たとえば,関数情节
を呼び出すと,以下のグラフィックスオブジェクトが作成されます。
数字 - 座座,ツールバー,メニューなどを含むウィンドウ
轴 - データデータを表すオブジェクトオブジェクトを座标
线——関数情节
に渡さに渡されるデータ値値を表す
文本-軸目盛りのラベル,およびオプションのタイトルと注釈
グラフのタイプによりデータを表すオブジェクトは異なります。グラフにはさまざまな種類があるのでデータオブジェクトも多種多様です。ラインや四角形などの汎用オブジェクトから,エラーバー,カラーバー,凡例といった高度に特化したものまでさまざまです。
プロット関数はグラフの作成に使用するオブジェクトを返すことができます。たとえば,次のステートメントはグラフを作成して,関数情节
で作成された线オブジェクトを返します。
x = 1:10;y = x ^ 3;h =情节(x, y);
h
を使用して线オブジェクトのプロパティを設定します。たとえば,颜色
プロパティを设定します。
h.Color =“红色”;
プロット関数を呼び出すときにも线プロパティを指定できます。
h =情节(x, y,'颜色',“红色”);
次のように线プロパティをクエリして,現在の値を確認することができます。
h.LineWidth
ans = 0.5000
オブジェクトのプロパティを表示するには,次のように入力します。
得到(h)
MATLABは,オブジェクトのプロパティと現在の値のリストを返します。
オブジェクトのプロパティと設定可能な値に関する情報を表示するには,次のように入力します。
集(h)
一度に複数のプロパティを設定するには,関数集
を使用します。
複数のオブジェクトで同じプロパティを同じ値に設定するには,関数集
を使用します。
たとえば,次のステートメントは,5行5列の行列をプロットし(列ごとに1つずつ合計5つの线オブジェクトを作成),标记
プロパティを四角に,MarkerFaceColor
プロパティを绿に设定ますます。
y =魔法(5);h =情节(y);集(h,'标记',“年代”,“MarkerFaceColor”,‘g’)
この場合,h
は5つのハンドルを含むで,各各ハンドルはグラフ内のののラインラインの各々の集
ステートメントは,すべてのラインの标记
およびMarkerFaceColor
プロパティを同じ値に設定します。
1つのオブジェクトオブジェクトにプロパティ値を设定するに,ハンドル配列にインデックスをます。
h(1)。线宽= 2;
各各ラインのプロパティをを违うに设定するするする场,细胞配列を使ってすべてのデータ保存し,集
コマンドに渡すことができます。たとえば,プロットを作成してラインのハンドル番号を保存します。
figure y = magic(5);h =情节(y);
各ラインに別々のマーカーを追加し,マーカーの面の色をラインと同じ色にするものとします。2つの细胞配列を定義しなければなりません。1つはプロパティ名を含み,もう1つはプロパティの希望する値を含みます。
细胞配列prop_name
には,2要素が含まれ。
prop_name (1) = {'标记'};prop_name (2) = {“MarkerFaceColor”};
细胞配列prop_values
は,10个の値をます。标记
プロパティに対する値が5个で,MarkerFaceColor
プロパティに対する値が5個です。prop_values
は2次元细胞配列であることに注意してください。1次元目は,値が適用されるh
のハンドル番号を示し,2次元目は,値が割り当てられるプロパティを示します。
prop_values (1, - 1) = {“年代”};prop_values(1、2)= {h (1) .Color};prop_values (2, 1) = {' d '};prop_values (2, 2) = {h (2) .Color};prop_values (3,1) = {'o'};prop_values(3,2)= {h(3).color};prop_values(4,1)= {“p”};prop_values (4,2) = {h (4) .Color};prop_values(5、1)= {“h”};prop_values(5,2)= {h(5).color};
MarkerFaceColor
には常に,対応するラインの色(ラインの颜色
プロパティを取得することにより取得)の値が代入されます。
细胞配列を定義した後で,集
を呼び出して新規のプロパティ値を指定します。
集(h, prop_name prop_values)
次の表は,オブジェクトの利用に際して一般的に用いられる関数の一覧です。
関数 |
目的 |
---|---|
指定したオブジェクトのすべての子オブジェクトを求める。 |
|
グラフィックスオブジェクトの上位オブジェクトを求める。 |
|
グラフィックスオブジェクトをコピーする。 |
|
オブジェクトの削除。 |
|
すべてすべてのグラフィックスオブジェクトの(非表示のハンドルを含む)。 |
|
指定したプロパティ値をもつオブジェクトのハンドルの検索。 |
|
現在の座標のハンドル番号を出力。 |
|
現在の图のハンドル番号を出力。 |
|
現在のオブジェクトのハンドル番号を出力。 |
|
オブジェクトのプロパティ値の取得。 |
|
有条不实。 |
|
オブジェクトのプロパティ値の設定。 |
特殊なと,MATLABプロット关联,MATLABプロットと,MATLABプロットと。
次の例は,入力引数x
で指定された范囲范囲ををして,结果をプロットするmatlab关键词。情节
関数の2回目の呼び出しで,結果の意思
の値が赤の线ででされ。
関数は,計算した値に基づいてy軸の目盛りを変更します。軸ラベルとタイトルを付けてカスタムグラフを完成させます。
功能plotFunc y (x) = 1.5 * cos (x) + 6 * exp(约* x) + exp (07 * x)。*罪(3 * x);ym =意味着(y);hfig =图(“名字”,'功能和均值');hax =轴('父母', hfig);情节(hax, x, y)上情节(hax [min (x) max (x)], [ym ym),'颜色',“红色”抱紧从ylab = hax.YTick;new_ylab = sort([ylab, ym]); / /排序hax。YTick = new_ylab;标题('y = 1.5cos(x) + 6e^{-0.1x} + e^{0.07x}sin(3x)')xlabel(“X轴”)ylabel(Y轴的)结束
入力引数の値を定義して関数を呼び出します。
x = -10:.005:40;plotfunc(x)
関数findobj.
を使って,特定のプロパティ値をもつオブジェクトを検索することにより,グラフィックスオブジェクトのハンドル番号を取得することができます。findobj.
によって,プロパティの値を任意に組み合わせて指定できるため,多くのオブジェクトから簡単に1つを選ぶことができます。findobj.
は正規表現も認識します。
すべてのオブジェクトはオブジェクト型を識別する类型
プロパティをもつため,特定の型のすべてのオブジェクトのハンドルを検索できます。たとえば,
h = findobj (“类型”,“补丁”);
は,すべての补丁オブジェクトのハンドルを検索します。
検索範囲を狭めるために複数のプロパティを指定することができます。たとえば,
情节(兰德(5),'r:') h = findobj(“类型”,“行”,'颜色',“r”,'linestyle',':');
は,赤い赤い点のすべてハンドル号ををします。
h = 5x1 Line array: Line Line Line Line
検索を开放する图または座标のハンドル番号をとしてとしてことにより,オブジェクト阶层内で検索検索たとえば,
h = findobj (gca),“类型”,'文本',“字符串”,‘\π/ 2);
は,現在の座標軸内のみでπ/ 2を検索します。