Main Content

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

animatedline

アニメーション化されたラインの作成

説明

an = animatedline は、データを含めずにアニメーション化されたラインを作成し、現在の座標軸に追加します。ループ内でラインに点を追加してアニメーションを作成するには、関数 addpoints を使用します。

an = animatedline(x,y) は、xy で定義されたデータ点を初期値としてアニメーション化されたラインを作成します。

an = animatedline(x,y,z) は、xyz で定義されたデータ点を初期値としてアニメーション化されたラインを作成します。

an = animatedline(___,Name,Value) は、1 つ以上の名前と値のペアの引数を使用して、アニメーション化されたラインのプロパティを指定します。たとえば 'Color','r' はラインの色を赤に設定します。このオプションは、前述の構文における任意の入力引数が組み合わされてから使用します。

an = animatedline(ax,___) は、現在の座標軸 (gca) ではなく、ax で指定された座標軸または地理座標軸にラインを作成します。オプションの ax は、前述の構文のすべての入力引数の組み合わせより前に指定できます。

すべて折りたたむ

初期状態の animated line オブジェクトを作成します。その後、ループを使用して、そのラインに点を 1,000 個追加します。新しい点を追加するたびに、drawnow を使用して新しい点を画面に表示します。

h = animatedline;
axis([0,4*pi,-1,1])

x = linspace(0,4*pi,1000);
y = sin(x);
for k = 1:length(x)
    addpoints(h,x(k),y(k));
    drawnow
end

レンダリング速度を上げるには、ループごとに複数の点をラインに追加するか drawnow limitrate を使用します。

ラインの点をクエリします。

[xdata,ydata] = getpoints(h);

ラインの点をクリアします。

clearpoints(h)
drawnow

アニメーション化されたラインの色を赤に設定し、ライン幅を 3 ポイントに設定します。

x = [1 2];
y = [1 2];
h = animatedline(x,y,'Color','r','LineWidth',3);

アニメーション化されたラインの点の数を 100 個までに制限します。ループを使用して一度に 1 つずつ点を追加します。ラインの点の数が 100 個に達した後は、ラインに新しい点を追加するたびに最も古い点が削除されます。

h = animatedline('MaximumNumPoints',100);
axis([0,4*pi,-1,1])

x = linspace(0,4*pi,1000);
y = sin(x);
for k = 1:length(x)
    addpoints(h,x(k),y(k));
    drawnow
end

ループを使用して、アニメーション化されたラインに点を 100,000 個追加します。点の数が多いため、ループごとに点を 1 つずつ追加すると速度が遅くなる可能性があります。アニメーションの速度を上げるために、代わりに 1 回のループで点を 100 個追加します。

h = animatedline;
axis([0,4*pi,-1,1])

numpoints = 100000;
x = linspace(0,4*pi,numpoints);
y = sin(x);
for k = 1:100:numpoints-99
    xvec = x(k:k+99);
    yvec = y(k:k+99);
    addpoints(h,xvec,yvec)
    drawnow
end

高速アニメーションを作成する別の方法では、drawnow の代わりに drawnow limitrate を使用します。

ループを使用して、アニメーション化されたラインに点を 100,000 個追加します。点の数が多いため、drawnow を使用して変更を表示すると時間がかかる可能性があります。アニメーションの速度を上げるために、代わりに drawnow limitrate を使用します。

h = animatedline;
axis([0,4*pi,-1,1])

numpoints = 100000;
x = linspace(0,4*pi,numpoints);
y = sin(x);
for k = 1:numpoints
    addpoints(h,x(k),y(k))
    drawnow limitrate
end

アニメーションのループを何回か繰り返してから更新内容をまとめて画面に描画することで、アニメーションの速度を制御できます。この方法は、drawnow では遅すぎ、drawnow limitrate では速すぎる場合に使用します。

たとえば 1/30 秒ごとに画面を更新します。画面を更新する間隔は、tic コマンドと toc コマンドを使用して追跡します。

h = animatedline;
axis([0,4*pi,-1,1])
numpoints = 10000;
x = linspace(0,4*pi,numpoints);
y = sin(x);
a = tic; % start timer
for k = 1:numpoints
    addpoints(h,x(k),y(k))
    b = toc(a); % check timer
    if b > (1/30)
        drawnow % update screen every 1/30 seconds
        a = tic; % reset timer after updating
    end
end
drawnow % draw final frame

更新間隔が短いほど、画面が頻繁に更新されるためアニメーションの速度は遅くなります。たとえば、b > (1/1000) にするとアニメーションは遅くなります。

入力引数

すべて折りたたむ

アニメーション化されたラインの最初の座標の初期値。スカラーまたはベクトルとして指定します。直交座標軸の場合、1 番目の座標は x 軸上の位置です。地理座標軸の場合、1 番目の座標は度単位の緯度です。

入力 x のサイズは y と等しくなければなりません。

例: 1:10

データ型: double

アニメーション化されたラインの 2 番目の座標の初期値。スカラーまたはベクトルとして指定します。直交座標軸の場合、2 番目の座標は y 軸上の位置です。地理座標軸の場合、2 番目の座標は度単位の経度です。

入力 y のサイズは x と等しくなければなりません。

例: 1:10

データ型: double

アニメーション化されたラインの 3 番目の座標の初期値。スカラーまたはベクトルとして指定します。直交座標軸の場合、3 番目の座標値は z 軸上の位置です。

例: 1:10

データ型: double

ターゲット座標軸。Axes オブジェクトまたは GeographicAxes オブジェクトとして指定します。axes オブジェクトを指定しない場合、animatedline は現在の座標軸を使用します。

名前と値のペアの引数

オプションの Name,Value の引数ペアをコンマ区切りで指定します。Name は引数名で、Value は対応する値です。Name は引用符で囲まなければなりません。Name1,Value1,...,NameN,ValueN のように、複数の名前と値のペアの引数を任意の順序で指定できます。

例: 'Color','red','Marker','o'

ここでは、アニメーション化されたラインのプロパティの一部だけを紹介しています。完全な一覧については、AnimatedLine のプロパティ を参照してください。

ラインの色。RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。既定値 [0 0 0] は、黒に相当します。

カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

MATLAB® の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。

ライン スタイル説明結果として得られる線
'-'実線

'--'破線

':'点線

'-.'一点鎖線

'none'ラインなしラインなし

ライン幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。ラインがマーカーをもつ場合、ライン幅はマーカー エッジにも影響します。

ライン幅をピクセルの幅より細くすることはできません。システムでライン幅をピクセルの幅より細い値に設定すると、ラインは 1 ピクセル幅で表示されます。

マーカー記号。次の表に挙げるマーカー記号のいずれかとして指定します。既定では、animated line オブジェクトにマーカーはありません。マーカー記号を指定すると、各データ点または各頂点にマーカーが追加されます。

説明
'o'
'+'プラス記号
'*'アスタリスク
'.'
'x'十字
'square' または 's'正方形
'diamond' または 'd'菱形
'^'上向き三角形
'v'下向き三角形
'>'右向き三角形
'<'左向き三角形
'pentagram' または 'p'星形五角形
'hexagram' または 'h'星形六角形
'none'マーカーなし

マーカー サイズ。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。

マーカーの輪郭の色。'auto'、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。既定値の 'auto' は、Color プロパティと同じ色を使用します。

カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

マーカーの塗りつぶし色。'auto'、RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。'auto' オプションは親の座標軸の Color プロパティと同じ色を使用します。'auto' を指定し、座標軸のプロット ボックスが非表示の場合、マーカーの塗りつぶし色は figure の色です。

カスタム色を使用する場合は、RGB 3 成分または 16 進数カラー コードを指定します。

  • RGB 3 成分は、色の赤、緑、青成分の強度を指定する 3 成分の行ベクトルです。強度値は [0,1] の範囲でなければなりません。たとえば [0.4 0.6 0.7] のようになります。

  • 16 進数カラー コードは、ハッシュ記号 (#) で始まり、3 桁または 6 桁の 0 から F までの範囲の 16 進数が続く文字ベクトルまたは string スカラーです。これらの値では大文字小文字は区別されません。したがって、カラー コード '#FF8800''#ff8800''#F80'、および '#f80' は等価です。

あるいは、名前を使用して一部の一般的な色を指定できます。次の表に、名前の付いた色オプション、等価の RGB 3 成分、および 16 進数カラー コードを示します。

色名省略名RGB 3 成分16 進数カラー コード外観
'red''r'[1 0 0]'#FF0000'

'green''g'[0 1 0]'#00FF00'

'blue''b'[0 0 1]'#0000FF'

'cyan' 'c'[0 1 1]'#00FFFF'

'magenta''m'[1 0 1]'#FF00FF'

'yellow''y'[1 1 0]'#FFFF00'

'black''k'[0 0 0]'#000000'

'white''w'[1 1 1]'#FFFFFF'

'none'該当なし該当なし該当なし色なし

MATLAB の多くのタイプのプロットで使用されている既定の色の RGB 3 成分および 16 進数カラー コードを次に示します。

RGB 3 成分16 進数カラー コード外観
[0 0.4470 0.7410]'#0072BD'

[0.8500 0.3250 0.0980]'#D95319'

[0.9290 0.6940 0.1250]'#EDB120'

[0.4940 0.1840 0.5560]'#7E2F8E'

[0.4660 0.6740 0.1880]'#77AC30'

[0.3010 0.7450 0.9330]'#4DBEEE'

[0.6350 0.0780 0.1840]'#A2142F'

ラインの一部として格納および表示される点の最大数。正の値または Inf として指定します。既定では 100 万個です。アニメーション化されたラインの点の数が許容される最大数を超えると、新たに追加された点が保持され、ラインの先頭から点が削除されていきます。これらの削除された点は画面に表示されなくなり、getpoints を使用しても返されません。

このプロパティは、画面に一度に表示される点の数を制限したりメモリの使用量を制限したりする場合に使用します。この値を Inf に指定すると、アニメーション化されたラインの点は削除されなくなりますが、格納される点の数は使用可能なメモリ量に制限されます。

例: 10

データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

出力引数

すべて折りたたむ

AnimatedLine オブジェクト。AnimatedLine オブジェクトの作成後に、プロパティ値の変更やラインへの点の追加などの変更を行うには an を使用します。プロパティの一覧については、AnimatedLine のプロパティ を参照してください。

ヒント

  • アニメーション化されたラインではデータ ヒントはサポートされません。

拡張機能

R2014b で導入