ドキュメンテーション センター

  • 評価版
  • 製品アップデート

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

line

Line オブジェクトを作成

構文

line
line(X,Y)
line(X,Y,Z)
line(X,Y,Z,'PropertyName',propertyvalue,...)
line('XData',x,'YData',y,'ZData',z,...)
h = line(...)

プロパティ

プロパティの一覧については、「Line Properties」を参照してください。

説明

line は、現在の Axes に既定値 x = [0 1]y = [0 1] の Line オブジェクトを作成します。色、幅、ライン スタイル、マーカー タイプなどを他のプロパティと同様に指定できます。

関数 line には、2 つの形式があります。

  • 色とライン スタイルの自動的な繰り返し。略式の構文 (たとえば、最初の 3 つの引数が座標と解釈される) で複数のラインの座標データを列として指定した場合、次のようになります。

    line(X,Y,Z)

    MATLAB® は関数 plot のように、Axes の ColorOrder プロパティと LineStyleOrder プロパティの値を繰り返します。しかし、関数 plot と異なり、関数 line は、関数 newplot を呼び出しません。

  • 低水準の操作。プロパティの名前と値のペアで、関数 line を呼び出す場合は、次のようになります。

    line('XData',x,'YData',y,'ZData',z)

    MATLAB は、既定のライン色を使用して、現在の Axes に Line オブジェクトを描画します (色の既定については関数 colordef を参照してください)。関数 line の低水準の型では、行列の座標データを指定することができません。

line(X,Y) は、現在の Axes に対し、ベクトル XY で定義される Line オブジェクトを追加します。XY が同じサイズの行列の場合、関数 line は 1 列ごとに 1 つのラインを作成します。

line(X,Y,Z) は、3 次元座標系でラインを作成します。

line(X,Y,Z,'PropertyName',propertyvalue,...) は、他のすべてのプロパティに指定したプロパティの名前と値のペアと、既定値を使用してラインを作成します。プロパティの詳細は、「Line Properties」を参照してください。

サポートされている値のリストについては、LineStyle プロパティと Marker プロパティを参照してください。

line('XData',x,'YData',y,'ZData',z,...) は、現在の Axes に引数として定義されたプロパティ値を使用して、ラインを作成します。これは、関数 line の低水準の型で、上に記述した他の略式型と違って、行列座標データを受け入れません。

h = line(...) は、関数が作成する各 Line オブジェクトのハンドル番号からなる列ベクトルを返します。

この例は、プロット データに影を付けるために関数 line を使用します。まず、データをプロットし、Line オブジェクトのハンドル番号を保存します。

t = 0:pi/20:2*pi;
hline1 = plot(t,sin(t),'k');

次に x 座標にオフセットを付けて影を付けます。影のラインをグレーにして、既定の LineWidth よりも太くします。

hline2 = line(t+.06,sin(t),'LineWidth',4,'Color',[.8 .8 .8]);

最後に、最初のラインを前面に表示します。

set(gca,'Children',[hline1 hline2])

対話型のライン描画

Figure から点を選択するために、関数 ginput を使用できます。以下に例を示します。

[x,y] = ginput(5);
line(x,y)

マウス操作による描画

Axes の CurrentPoint プロパティと Figure の WindowButtonDownFcn プロパティおよび WindowButtonMotionFcn プロパティを使用して、マウス クリックで点を選択し、シンプルな描画プログラムのように、マウスをドラッグして他の点までラインを描画できます。以下の例では、このタイプの対話型描画を行うためのいくつかの有用なテクニックを説明します。

クリックしてエディターで表示クリックしてエディターで表示 — この例では、カーソルをクリックし、ドラッグして、ラインを描画することができます。

クリックして例を実行クリックして例を実行 — 座標軸上で左マウスボタンをクリックし、カーソルを移動します。ラインの最終点を左クリックして定義し、描画モードを終了するために右クリックします。

入力引数の次元 — 略式型

次のステートメントは、ZData に指定された 1 列の行列を、個々に 4 点をもつ 2 つのラインを作るために再利用します。

line(rand(4,2),rand(4,2),rand(4,1))

すべてのデータが同じ列数で 1 行の場合、MATLAB はプロットするデータを作成するために行列を転置します。たとえば、

line(rand(1,4),rand(1,4),rand(1,4))

上記は以下のように変更されます。

line(rand(4,1),rand(4,1),rand(4,1))

これは、1 つまたは 2 つの行列が 1 行のときにも適用されます。たとえば、

line(rand(2,4),rand(2,4),rand(1,4))

は、以下と同等になります。

line(rand(4,2),rand(4,2),rand(4,1))

既定のプロパティの設定

「axes」「figure」rootobject レベル上にラインの既定のプロパティを設定することができます。

set(0,'DefaultLinePropertyName',PropertyValue,...)
set(gcf,'DefaultLinePropertyName',PropertyValue,...)
set(gca,'DefaultLinePropertyName',PropertyValue,...)

ここで、PropertyName は、ラインのプロパティの名前で、PropertyValue は指定する値です。ラインのプロパティにアクセスするには、関数 set および get を使用してください。

詳細

すべて展開する

ヒント

略式の型では、関数 line は最初の 3 個の引数 (2 次元に対しては 2 個) を、XYZ 座標データとして解釈します。プロパティ名は省略することができます。他のすべてのプロパティは、プロパティ名とプロパティ値の組み合わせとして指定しなければなりません。たとえば、

line(X,Y,Z,'Color','r','LineWidth',4)

関数 line の低水準の型は、プロパティの名前と値のペアのみの引数をもちます。たとえば、

line('XData',x,'YData',y,'ZData',z,'Color','r','LineWidth',4)

ラインのプロパティは、Line オブジェクトのさまざまな外観を制御します。また、「Line Properties」で説明されています。関数 setget により、Line オブジェクトを作成した後で、プロパティ値の設定やクエリを行うことができます。

プロパティは、プロパティの名前と値のペア、構造体配列、セル配列として指定できます (これらのデータ型の指定方法の例は、関数 set および関数 get のリファレンス ページを参照してください)。

plot のような高水準の関数と異なり、関数 line は、Figure オブジェクトや Axes オブジェクトの NextPlot プロパティの設定に従いません。現在の Axes に Line オブジェクトを追加するのみです。しかし、軸の範囲のような自動制御下にある Axes のプロパティは、現在の Axes に Line オブジェクトを適合させるために変更することができます。

ドットの連結

座標軸データは、x、y、z 値に対応するベクトルと解釈されます。

X = [x(1) x(2) x(3)...x(n)]
Y = [y(1) y(2) y(3)...y(n)]
Z = [z(1) z(2) z(3)...z(n)]

ここで、ベクトル要素に対応する点が決められます。

p1(x(i),y(i),z(i))

たとえば、x = .3, y = .4, z = 1 に配置された点から x = .7, y = .9, z = 1 に配置された点へラインを引くには、以下のデータを使用します。

axis([0 1 0 1])
line([.3 .7],[.4 .9],[1 1],'Marker','.','LineStyle','-')

参考

| | | | |

この情報は役に立ちましたか?