animatedline
アニメーション化されたラインの作成
構文
説明
は、データを含めずにアニメーション化されたラインを作成し、現在の座標軸に追加します。ループ内でラインに点を追加してアニメーションを作成するには、関数 an = animatedlineaddpoints を使用します。
は、1 つ以上の名前と値のペアの引数を使用して、アニメーション化されたラインのプロパティを指定します。たとえば an = animatedline(___,Name,Value)'Color','r' はラインの色を赤に設定します。このオプションは、前述の構文における任意の入力引数が組み合わされてから使用します。
例
初期状態の 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);

datetime や duration の値など、数値以外の点をプロットするには、まずプロットする型の値でアニメーション化されたラインを初期化します。プロット内の最初の点か、NaT や NaN などのプレースホルダーの値を指定できます。
たとえば、"x" 軸に datetime 値、"y" 軸に duration 値 (分) をプロットします。NaT 値と minutes(NaN) 値をもつアニメーション化されたラインを初期化します。次に、datetime ベクトル (x) と duration ベクトル (y) を作成し、それらのベクトルに含まれる点をアニメーション化されたラインに追加します。
an = animatedline(NaT,minutes(NaN),"Marker","o"); x = datetime(2018,5,1:5); y = minutes([1 7 3 11 4]); addpoints(an,x,y)

アニメーション化されたラインの点の数を 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]) drawnow 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) にするとアニメーションは遅くなります。
入力引数
開始 x 座標。y と同じサイズのスカラーまたはベクトルとして指定します。
極座標では、x は開始 theta 値に対応します。地理座標では、x は開始緯度 (度単位) に対応します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | datetime | duration
開始 y 座標。x と同じサイズのスカラーまたはベクトルとして指定します。
極座標では、y は開始半径値に対応します。地理座標では、y は開始経度 (度単位) に対応します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | datetime | duration
開始 z 座標。スカラーまたはベクトルとして指定します。
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64 | datetime | duration
ターゲット座標軸。任意の座標軸タイプ、Group オブジェクト、または Transform オブジェクトとして指定します。この引数を指定しない場合、animatedline は現在の座標軸を使用します。
名前と値の引数
オプションの引数のペアを Name1=Value1,...,NameN=ValueN として指定します。ここで、Name は引数名で、Value は対応する値です。名前と値の引数は他の引数の後に指定しなければなりませんが、ペアの順序は重要ではありません。
例: animatedline(x,y,Color="red",Marker="o") は、赤の円マーカーをもつアニメーション化されたラインを作成します。
ここには一部のアニメーション化されたラインのプロパティのみを示します。完全な一覧については、AnimatedLine のプロパティ を参照してください。
ラインの色。RGB 3 成分、16 進数カラー コード、色名、または省略名として指定します。
カスタム色を使用する場合は、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" | 該当なし | 該当なし | 該当なし | 色なし |
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
| パレット | パレットの色 |
|---|---|
R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
ライン スタイル。次の表にリストされたオプションのいずれかとして指定します。
| ライン スタイル | 説明 | 結果として得られる線 |
|---|---|---|
"-" | 実線 |
|
"--" | 破線 |
|
":" | 点線 |
|
"-." | 一点鎖線 |
|
"none" | ラインなし | ラインなし |
ライン幅。ポイント単位の正の値として指定します。1 ポイントは 1/72 インチです。ラインがマーカーをもつ場合、ライン幅はマーカー エッジにも影響します。
ライン幅をピクセルの幅より細くすることはできません。システムでライン幅をピクセルの幅より細い値に設定すると、ラインは 1 ピクセル幅で表示されます。
マーカー記号。次の表に挙げる値のいずれかとして指定します。既定では、オブジェクトはマーカーを表示しません。マーカー記号を指定すると、各データ点または各頂点にマーカーが追加されます。
| マーカー | 説明 | 結果のマーカー |
|---|---|---|
"o" | 円 |
|
"+" | プラス記号 |
|
"*" | アスタリスク |
|
"." | 点 |
|
"x" | 十字 |
|
"_" | 水平線 |
|
"|" | 垂直線 |
|
"square" | 正方形 |
|
"diamond" | 菱形 |
|
"^" | 上向き三角形 |
|
"v" | 下向き三角形 |
|
">" | 右向き三角形 |
|
"<" | 左向き三角形 |
|
"pentagram" | 星形五角形 |
|
"hexagram" | 星形六角形 |
|
"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" | 該当なし | 該当なし | 該当なし | 色なし |
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
| パレット | パレットの色 |
|---|---|
R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
マーカーの塗りつぶし色。"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" | 該当なし | 該当なし | 該当なし | 色なし |
次の表に、ライト テーマとダーク テーマでのプロットの既定のカラー パレットを示します。
| パレット | パレットの色 |
|---|---|
R2025a より前: ほとんどのプロットで、これらの色が既定で使用されます。 |
|
|
|
orderedcolors 関数と rgb2hex 関数を使用すると、これらのパレットの RGB 3 成分および 16 進数カラー コードを取得できます。たとえば、"gem" パレットの RGB 3 成分を取得し、16 進数カラー コードに変換します。
RGB = orderedcolors("gem");
H = rgb2hex(RGB);R2023b より前: RGB = get(groot,"FactoryAxesColorOrder") を使用して、RGB 3 成分を取得します。
R2024a より前: H = compose("#%02X%02X%02X",round(RGB*255)) を使用して、16 進数カラー コードを取得します。
ラインの一部として格納および表示される点の最大数。正の値または Inf として指定します。既定では 100 万個です。アニメーション化されたラインの点の数が許容される最大数を超えると、新たに追加された点が保持され、ラインの先頭から点が削除されていきます。これらの削除された点は画面に表示されなくなり、getpoints を使用しても返されません。
このプロパティは、画面に一度に表示される点の数を制限したりメモリの使用量を制限したりする場合に使用します。この値を Inf に指定すると、アニメーション化されたラインの点は削除されなくなりますが、格納される点の数は使用可能なメモリ量に制限されます。
例: 10
データ型: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64
出力引数
AnimatedLine オブジェクト。AnimatedLine オブジェクトの作成後に、プロパティ値の変更やラインへの点の追加などの変更を行うには an を使用します。プロパティの一覧については、AnimatedLine のプロパティ を参照してください。
制限
アニメーション化されたラインではデータ ヒントはサポートされません。
拡張機能
animatedline 関数は GPU 配列入力をサポートしますが、次の使用上の注意および制限があります。
この関数は GPU 配列を受け入れますが、GPU 上では実行されません。
詳細については、GPU での MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
animatedline 関数は分散配列をサポートしますが、次の使用上の注意および制限があります。
この関数は分散配列に対して演算を行いますが、クライアントの MATLAB® で実行されます。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2014b で導入x、y、および z 座標の single、double、整数、datetime、または duration データを使用してアニメーション化されたラインを作成します。
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)




























