Main Content

이 페이지의 최신 내용은 아직 번역되지 않았습니다. 최신 내용은 영문으로 볼 수 있습니다.

animatedline

애니메이션된 선 생성

설명

an = animatedline은 데이터가 없는 애니메이션된 선을 만든 다음 현재 좌표축에 추가합니다. addpoints 함수를 사용하여 루프의 선에 점을 추가하여 애니메이션을 만들 수 있습니다.

예제

an = animatedline(x,y)xy로 정의된 초기 데이터 점을 사용하여 애니메이션된 선을 만듭니다.

an = animatedline(x,y,z)x, y, z로 정의된 초기 데이터 점을 사용하여 애니메이션된 선을 만듭니다.

예제

an = animatedline(___,Name,Value)는 하나 이상의 이름-값 쌍의 인수를 사용하여 animated line 속성을 지정합니다. 예를 들어, '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개로 제한합니다. 루프를 사용하여 한 번에 하나의 점을 선에 추가합니다. 선에 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를 사용하는 것입니다.

루프를 사용하여 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의 크기는 y와 같아야 합니다.

예: 1:10

데이터형: double

애니메이션된 선의 두 번째 초기 좌표값으로, 스칼라나 벡터로 지정됩니다. 카테시안 좌표축의 경우 두 번째 좌표는 y축 위치입니다. 지리 좌표축의 경우 두 번째 좌표는 경도(단위: 도)입니다.

입력 인수 y의 크기는 x와 같아야 합니다.

예: 1:10

데이터형: double

애니메이션된 선의 세 번째 초기 좌표값으로, 스칼라나 벡터로 지정됩니다. 카테시안 좌표축의 경우 세 번째 좌표는 z축 위치입니다.

예: 1:10

데이터형: double

대상 좌표축으로, Axes 객체 또는 GeographicAxes 객체로 지정됩니다. axes 객체를 지정하지 않으면 animatedline은 현재 좌표축을 사용합니다.

이름-값 쌍의 인수

선택적으로 Name,Value 인수가 쉼표로 구분되어 지정됩니다. 여기서 Name은 인수 이름이고 Value는 대응값입니다. Name은 따옴표 안에 표시해야 합니다. Name1,Value1,...,NameN,ValueN과 같이 여러 개의 이름-값 쌍의 인수를 어떤 순서로든 지정할 수 있습니다.

예: 'Color','red','Marker','o'

여기에 나와 있는 animated line 속성은 일부에 불과합니다. 전체 목록을 보려면 AnimatedLine 속성을 참조하십시오.

선 색으로, 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'

선 스타일로, 다음 표에 나열된 옵션 중 하나로 지정됩니다.

선 스타일설명결과 선
'-'실선

'--'파선

':'점선

'-.'일점 쇄선

'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진수 색 코드는 문자형 벡터 또는 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'

마커 채우기 색으로, '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'

저장되어 선의 일부로 표시되는 최대 점 개수로, 양의 값이나 Inf로 지정됩니다. 기본적으로 이 값은 백만 개의 점입니다. 점 개수가 허용되는 최댓값을 초과하는 경우 animated line 객체는 가장 최근에 추가된 점을 유지하고 선 시작 부분에 있는 점을 삭제합니다. 이와 같이 삭제된 점은 더 이상 화면에 표시되지 않으며 getpoints를 사용할 때 반환되지 않습니다.

이 속성을 사용하면 지정된 시간에 화면에 나타나는 점의 개수를 제한하거나 사용되는 메모리 크기를 제한할 수 있습니다. 이 값을 Inf로 지정하면 애니메이션된 선이 점을 삭제하지 않지만 저장되는 점의 개수가 사용 가능한 메모리 크기에 의해 제한됩니다.

예: 10

데이터형: single | double | int8 | int16 | int32 | int64 | uint8 | uint16 | uint32 | uint64

출력 인수

모두 축소

AnimatedLine 객체. an을 사용하면 AnimatedLine 객체가 생성된 후에 속성값을 변경하거나 line에 점을 추가하는 등 animated line 객체를 수정할 수 있습니다. 속성 목록은 AnimatedLine 속성을 참조하십시오.

  • 애니메이션된 선은 데이터팁을 지원하지 않습니다.

확장 기능

R2014b에 개발됨