animatedline
애니메이션된 선 생성
구문
설명
은 데이터가 없는 애니메이션된 선을 만든 다음 현재 좌표축에 추가합니다. an
= animatedlineaddpoints
함수를 사용하여 루프의 선에 점을 추가하여 애니메이션을 만들 수 있습니다.
는 하나 이상의 이름-값 쌍의 인수를 사용하여 animated line 속성을 지정합니다. 예를 들어, 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형 값 지정하기
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개로 제한합니다. 루프를 사용하여 한 번에 하나의 점을 선에 추가합니다. 선에 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개의 점을 애니메이션된 선에 추가합니다. 점 개수가 많기 때문에 루프를 통해 매번 점을 하나씩 선에 추가하면 속도가 느릴 수 있습니다. 대신, 루프를 통해 매번 점을 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
를 사용하는 것입니다.
빠른 애니메이션을 위해 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)
을 사용하면 애니메이션 속도가 느려집니다.
입력 인수
x
— 시작 x 좌표
[]
(디폴트 값) | 스칼라 또는 벡터
시작 x 좌표로, y
와 크기가 동일한 스칼라 또는 벡터로 지정됩니다.
극좌표에서 x
는 시작 theta 값에 해당합니다. 지리 좌표에서 x
는 시작 위도(단위: 도)에 해당합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| datetime
| duration
y
— 시작 y 좌표
[]
(디폴트 값) | 스칼라 또는 벡터
시작 y 좌표로, x
와 크기가 동일한 스칼라 또는 벡터로 지정됩니다.
극좌표에서 y
는 시작 반지름 값에 해당합니다. 지리 좌표에서 y
는 시작 경도(단위: 도)에 해당합니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| datetime
| duration
z
— 시작 z 좌표
[]
(디폴트 값) | 스칼라 또는 벡터
시작 z 좌표로, 스칼라 또는 벡터로 지정됩니다.
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
| datetime
| duration
ax
— 대상 좌표축
임의의 좌표축 유형 | Group
객체 | Transform
객체
대상 좌표축으로, 임의의 좌표축 유형, Group
객체 또는 Transform
객체로 지정됩니다. 이 인수를 지정하지 않는 경우 animatedline
은 현재 좌표축을 사용합니다.
이름-값 인수
선택적 인수 쌍을 Name1=Value1,...,NameN=ValueN
으로 지정합니다. 여기서 Name
은 인수 이름이고 Value
는 대응값입니다. 이름-값 인수는 다른 인수 뒤에 와야 하지만, 인수 쌍의 순서는 상관없습니다.
예: animatedline(x,y,Color="red",Marker="o")
는 빨간색 원형 마커로 애니메이션된 선을 만듭니다.
R2021a 이전: 쉼표를 사용하여 각각의 이름과 값을 구분하고 Name
을 따옴표로 묶으십시오. 예를 들어 animatedline(x,y,"Color","red","Marker","o")
는 빨간색 원형 마커로 애니메이션된 선을 만듭니다.
여기에 나와 있는 animated line 속성은 일부에 불과합니다. 전체 목록을 보려면 AnimatedLine 속성을 참조하십시오.
Color
— 선 색
[0 0 0]
(디폴트 값) | RGB 3색 | 16진수 색 코드 | "r"
| "g"
| "b"
| ...
선 색으로, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다. 디폴트 값인 [0 0 0]
은 검은색에 해당합니다.
사용자 지정 색의 경우에는 RGB 3색 또는 16진수 색 코드를 지정하십시오.
RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는
[0,1]
이어야 합니다(예:[0.4 0.6 0.7]
).16진수 색 코드는 string형 스칼라 또는 문자형 벡터로, 해시 기호(
#
)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0
에서F
사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드"#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" |
LineStyle
— 선 스타일
"-"
(디폴트 값) | "--"
| ":"
| "-."
| "none"
선 스타일로, 다음 표에 나열된 옵션 중 하나로 지정됩니다.
선 스타일 | 설명 | 결과 선 |
---|---|---|
"-" | 실선 |
|
"--" | 파선 |
|
":" | 점선 |
|
"-." | 일점 쇄선 |
|
"none" | 선 없음 | 선 없음 |
LineWidth
— 선 너비
0.5
(디폴트 값) | 양의 값
선 너비로, 양의 값으로 지정됩니다(단위: 포인트). 여기서 1포인트는 1/72인치와 같습니다. 선에 마커가 있는 경우 선 너비는 마커 가장자리에도 영향을 미칩니다.
선 너비는 픽셀 너비보다 가늘 수 없습니다. 선 너비를 시스템의 픽셀 너비보다 작은 값으로 설정할 경우 선은 1픽셀 너비로 표시됩니다.
Marker
— 마커 기호
"none"
(디폴트 값) | "o"
| "+"
| "*"
| "."
| ...
마커 기호로, 다음 표에 나열된 값 중 하나로 지정됩니다. 기본적으로 객체는 마커를 표시하지 않습니다. 마커 기호를 지정하면 각 데이터 점이나 꼭짓점에 마커가 추가됩니다.
마커 | 설명 | 결과로 생성되는 마커 |
---|---|---|
"o" | 원 |
|
"+" | 플러스 기호 |
|
"*" | 별표 |
|
"." | 점 |
|
"x" | 십자 |
|
"_" | 가로선 |
|
"|" | 세로선 |
|
"square" | 정사각형 |
|
"diamond" | 다이아몬드 |
|
"^" | 위쪽 방향 삼각형 |
|
"v" | 아래쪽 방향 삼각형 |
|
">" | 오른쪽 방향 삼각형 |
|
"<" | 왼쪽 방향 삼각형 |
|
"pentagram" | 펜타그램 |
|
"hexagram" | 헥사그램 |
|
"none" | 마커 없음 | 해당 없음 |
MarkerSize
— 마커 크기
6
(디폴트 값) | 양의 값
마커 크기로, 양의 값으로 지정됩니다(단위: 포인트). 여기서 1포인트는 1/72인치와 같습니다.
MarkerEdgeColor
— 마커 윤곽선 색
'auto'
(디폴트 값) | RGB 3색 | 16진수 색 코드 | 'r'
| 'g'
| 'b'
마커 윤곽선 색으로, "auto"
, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다. 디폴트 값인 "auto"
는 Color
속성과 동일한 색을 사용합니다.
사용자 지정 색의 경우에는 RGB 3색 또는 16진수 색 코드를 지정하십시오.
RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는
[0,1]
이어야 합니다(예:[0.4 0.6 0.7]
).16진수 색 코드는 string형 스칼라 또는 문자형 벡터로, 해시 기호(
#
)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0
에서F
사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드"#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" |
MarkerFaceColor
— 마커 채우기 색
'none'
(디폴트 값) | 'auto'
| RGB 3색 | 16진수 색 코드 | 'r'
| 'g'
| 'b'
마커 채우기 색으로, "auto"
, RGB 3색, 16진수 색 코드, 색 이름 또는 짧은 이름으로 지정됩니다. "auto"
옵션은 부모 axes의 Color
속성과 동일한 색을 사용합니다. "auto"
를 지정했는데 좌표축 플롯 상자가 보이지 않는 경우 마커 채우기 색은 Figure의 색과 동일합니다.
사용자 지정 색의 경우에는 RGB 3색 또는 16진수 색 코드를 지정하십시오.
RGB 3색은 요소를 3개 가진 행 벡터로, 각 요소는 색을 구성하는 빨간색, 녹색, 파란색의 농도를 지정합니다. 농도의 범위는
[0,1]
이어야 합니다(예:[0.4 0.6 0.7]
).16진수 색 코드는 string형 스칼라 또는 문자형 벡터로, 해시 기호(
#
)로 시작하고 그 뒤에 3자리 또는 6자리의 16진수 숫자(0
에서F
사이일 수 있음)가 옵니다. 이 값은 대/소문자를 구분하지 않습니다. 따라서 색 코드"#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" |
MaximumNumPoints
— 저장되어 표시되는 최대 점 개수
1000000
(디폴트 값) | 양의 값 | Inf
저장되어 선의 일부로 표시되는 최대 점 개수로, 양의 값이나 Inf
로 지정됩니다. 기본적으로 이 값은 백만 개의 점입니다. 점 개수가 허용되는 최댓값을 초과하는 경우 animated line 객체는 가장 최근에 추가된 점을 유지하고 선 시작 부분에 있는 점을 삭제합니다. 이와 같이 삭제된 점은 더 이상 화면에 표시되지 않으며 getpoints
를 사용할 때 반환되지 않습니다.
이 속성을 사용하면 지정된 시간에 화면에 나타나는 점의 개수를 제한하거나 사용되는 메모리 크기를 제한할 수 있습니다. 이 값을 Inf
로 지정하면 애니메이션된 선이 점을 삭제하지 않지만 저장되는 점의 개수가 사용 가능한 메모리 크기에 의해 제한됩니다.
예: 10
데이터형: single
| double
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
출력 인수
an
— AnimatedLine
객체
AnimatedLine
객체
AnimatedLine
객체. an
을 사용하면 AnimatedLine
객체가 생성된 후에 속성값을 변경하거나 line에 점을 추가하는 등 animated line 객체를 수정할 수 있습니다. 속성 목록은 AnimatedLine 속성을 참조하십시오.
제한 사항
애니메이션된 선은 데이터팁을 지원하지 않습니다.
확장 기능
GPU 배열
Parallel Computing Toolbox™를 사용해 GPU(그래픽스 처리 장치)에서 실행하여 코드 실행 속도를 높일 수 있습니다.
사용법 관련 참고 및 제한 사항:
이 함수는 GPU 배열을 받지만 GPU에서 실행되지는 않습니다.
자세한 내용은 GPU에서 MATLAB 함수 실행하기 (Parallel Computing Toolbox) 항목을 참조하십시오.
분산 배열
Parallel Computing Toolbox™를 사용하여 대규모 배열을 클러스터의 결합된 메모리에 걸쳐 분할할 수 있습니다.
사용법 관련 참고 및 제한 사항:
이 함수는 분산 배열에 대해 연산을 수행하지만 클라이언트 측의 MATLAB에서 실행됩니다.
자세한 내용은 분산 배열을 사용하여 MATLAB 함수 실행 (Parallel Computing Toolbox) 항목을 참조하십시오.
버전 내역
R2014b에 개발됨R2023a: single형, double형, 정수형, datetime형 또는 duration형 좌표 지정
x, y, z 좌표의 single형, double형, 정수형, datetime형 또는 duration형 데이터를 사용하여 애니메이션된 선을 만듭니다.
MATLAB 명령
다음 MATLAB 명령에 해당하는 링크를 클릭했습니다.
명령을 실행하려면 MATLAB 명령 창에 입력하십시오. 웹 브라우저는 MATLAB 명령을 지원하지 않습니다.
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)